// remove padding for widgetized sidebar
.wpb_widgetised_column {
  padding: 0 !important;
  margin-bottom: 20px !important;
}
.wpb_widgetised_column_heading {
  margin: 20px 0 0 20px !important;
}

// fix border theme default from design option
.wpb_content_element {
  border-style: solid !important;
  border-width: 0;
  border-color: @td_grid_border_color;
  padding-top: 23px;
}

// heading title
.wpb_heading {
  background-color: #222;
  border-radius: 3px;
  color: #fff;
  display: inline-table;
  font-family: @font1;
  font-size: 11px;
  font-weight: bold;
  line-height: 16px;
  padding: 2px 15px;
  position: relative;
  top: -3px;
  vertical-align: middle;
  margin: 0 0 16px;
}


// widgets from WP in VC
.vc_wp_rss,
.vc_wp_archives,
.vc_wp_categories,
.vc_wp_posts,
.vc_wp_text,
.vc_wp_custommenu,
.vc_wp_tagcloud,
.vc_wp_pages,
.vc_wp_calendar,
.vc_wp_recentcomments,
.vc_wp_meta,
.vc_wp_search {
  padding-top: 0; //20px;
  padding-left: 0;
  padding-right: 0;
}

.vc_wp_rss {
  .widgettitle {
    a:first-child {
      display: none;
    }

    .rsswidget {
      color: #ffffff;
      line-height: 16px;
    }
  }
}

.vc_wp_search {
  padding-bottom: 0;

  .wpb_button {
    margin: 0;
  }

  .widget_search {
    margin-top: 20px;
    margin-bottom: 20px;
  }
}

.vc_wp_tagcloud {
  .widgettitle {
    margin-bottom: 20px;
  }
}


// title
.widgettitle {
  background-color: #222;
  border-radius: 3px;
  color: #fff;
  display: inline-table;
  font-family: @font1;
  font-size: 11px;
  font-weight: bold;
  line-height: 16px;
  padding: 2px 15px;
  position: relative;
  top: -4px; //-3px;
  vertical-align: middle;
  margin-bottom: 7px;
  margin-top: 24px;
}



/*
    text block
*/
.wpb_text_column {
  padding-top: 20px;

  // make the first h to be without top margin to perfect fit
  h1,h2,h3,h4,h5 {
    &:first-child {
      margin-top: 0;
    }
  }
}



/*
    separator
*/
.vc_separator {
  padding: 10px 0;
  border-top: 0;
}



/*
    message box - alert
*/
.wpb_alert {
  border-top: 0;
  padding-top: 16px;
  margin: 10px 20px;
  border-color: initial;

  /* responsive portrait tablet */
  @media (min-width: @responsive_p_tablet_min) and (max-width: @responsive_p_tablet_max) {
    margin: 10px 17px;
  }
}

.wpb_alert.vc_alert_3d {
  border-width: 0;
}



/*
    facebook
*/
.fb_like {
  border-top: 0;
  margin: 20px;
  padding: 0 !important;
  display: inline-block;

  /* responsive portrait tablet */
  @media (min-width: @responsive_p_tablet_min) and (max-width: @responsive_p_tablet_max) {
    margin-left: 17px;
  }
}



/*
    twitter
*/
.twitter-share-button {
  margin: 20px 20px 0 !important;
  padding: 0 !important;
  display: inline-block;

  /* responsive portrait tablet */
  @media (min-width: @responsive_p_tablet_min) and (max-width: @responsive_p_tablet_max) {
    margin-left: 17px !important;
  }

  /* responsive portrait phone */
  @media (max-width: @responsive_p_phone_max) {
    margin-left: 10px !important;
  }
}
.twitter-count-vertical {
  padding-left: 0;
}



/*
    g+
*/
.wpb_googleplus {
  border-top: 0;
  margin: 20px !important;
  padding: 0;
  display: inline-block;

  /* responsive portrait tablet */
  @media (min-width: @responsive_p_tablet_min) and (max-width: @responsive_p_tablet_max) {
    padding-left: 17px;
  }

  /* responsive portrait phone */
  @media (max-width: @responsive_p_phone_max) {
    padding-left: 10px;
  }
}



/*
    pinterest
*/
.wpb_pinterest {
  border-top: 0;
  margin: 20px !important;
  padding: 0 !important;
  display: inline-block;
}

.wpb_pinterest_type_vertical {
  a {
    margin-top: 40px !important;
  }
}



/*
    FAQ - toggle
*/
.wpb_toggle {
  margin: 20px 20px 10px 20px;
  background-color: #fff;
  color: #444;
  border: 1px solid #444 !important;
  border-radius: 3px;
  padding: 4px 15px !important;
  font-family: @font1;
  font-size: 11px;
  line-height: 16px;
  font-weight: 700;
  text-transform: uppercase;
  background-position: 99% center;

  /* responsive portrait tablet */
  @media (min-width: @responsive_p_tablet_min) and (max-width: @responsive_p_tablet_max) {
    margin: 10px 17px;
  }
}

.wpb_toggle_title_active {
  background-color: #444 !important;
  color: #fff !important;
}

.wpb_toggle_content {
  padding: 0 20px;

}



/*
    Single image
*/
.wpb_single_image {
  padding-top: 20px;

  .wpb_heading {
    display: table;
  }
}

// fix center alignment
.vc_align_center {
  img {
    margin: auto;
  }
}
.vc_align_right {
  img {
    margin-left: auto;
  }
}



/*
    Image gallery
*/
.wpb_gallery {
  .flexslider {
    overflow: hidden;
  }
}

// Flex slider
//
//
// fix navigation
.wpb_gallery .wpb_flexslider .flex-control-nav {
  bottom: 0;
  z-index: 2;
}

// next back arrow
.flex-direction-nav a {
  height: 45px;
  padding-top: 8px;
}
.flex-direction-nav a:before {
  font-family: @font4 !important;
}
.flex-direction-nav a.flex-next:before {
  content: '\e808' !important;
}
.flex-direction-nav a.flex-prev:before {
  content: '\e807' !important;
}

/*
    Image carousel
*/
.wpb_content_element {
  .icon-next:before {
    font-family: @font4 !important;
    content: '\e808' !important;
    color: #ffffff;
    font-size: 20px;
    top: 0 !important;
  }
  .icon-prev:before {
    font-family: @font4 !important;
    content: '\e807' !important;
    color: #ffffff;
    font-size: 20px;
    top: 0 !important;
  }
}

body .td-pb-span12 {
  .vc_left {
    margin-left: 15px;
  }
  .vc_right {
    margin-right: 15px;
  }

  .wpb_images_carousel {
    padding-left: 0;
    padding-right: 0;
  }

  .vc_images_carousel {
    padding-right: 19px;
    padding-left: 20px;

    /* responsive portrait tablet */
    @media (min-width: @responsive_p_tablet_min) and (max-width: @responsive_p_tablet_max) {
      padding-left: 17px;
      padding-right: 17px;
    }

    /* responsive portrait phone */
    @media (max-width: @responsive_p_phone_max) {
      padding-left: 10px;
      padding-right: 10px;
    }
  }

  .vc_per-view-more {
    width: 1019px !important;
    padding-right: 10px;
    padding-left: 10px;

    /* responsive portrait tablet */
    @media (min-width: @responsive_p_tablet_min) and (max-width: @responsive_p_tablet_max) {
      width: 758px !important;
      padding-left: 7px;
    }

    /* responsive portrait phone */
    @media (max-width: @responsive_p_phone_max) {
      width: auto !important;
      padding-left: 0;
      padding-right: 0;
    }
  }
}
body .vc_images_carousel {
  width: auto !important;
}
.wpb_images_carousel {
  .wpb_wrapper .wpb_gallery_heading {
    margin: 0 0 20px 20px;
    top: 0;

    /* responsive portrait tablet */
    @media (min-width: @responsive_p_tablet_min) and (max-width: @responsive_p_tablet_max) {
      margin-left: 17px;
    }

    /* responsive portrait phone */
    @media (max-width: @responsive_p_phone_max) {
      margin-left: 10px;
    }
  }
}


/*
    Tabs
*/
.wpb_tabs {
  margin: 0;
  padding: 0;

  .wpb_tabs_nav {
    margin: 20px 20px 0 19px;

    /* responsive portrait phone */
    @media (max-width: @responsive_p_phone_max) {
      margin-left: auto;
      margin-right: auto;
      display: table;
    }
  }

  .wpb_tab {
    background-color: #fff !important;
    padding: 0 !important;

    // remove the top border automatic for all blocks that are in tabs
    .td_block_wrap {
      border-top: 0;
    }

    // fix if you use blocks without top padding
    .td_block_13,
    .td_block_14,
    .td_block_15 {
      padding-top: 15px;
      left: -1px;
    }
  }

  li {
    line-height: 16px;
    margin-right: 0 !important;
    margin-bottom: 5px !important;

    &:first-child {
      a {
        border-radius: 3px 0 0 3px;
      }
    }

    &:last-child {
      a {
        border-radius: 0 3px 3px 0;
        border-right: 1px solid #222;

        &:before {
          display: none;
        }
      }
    }

    a {
      background-color: #fff;
      color: #444;
      border-top: 1px solid #222;
      border-left: 1px solid #222;
      border-bottom: 1px solid #222 !important;
      border-right: 0;
      border-radius: 0;
      padding: 1px 15px !important;
      font-family: @font1;
      font-size: 11px;
      line-height: 16px;
      font-weight: 700;
      text-transform: uppercase;
      position: relative;

      // removing the transition
      -o-transition: none;
      -moz-transition: none;
      -khtml-transition: none;
      -webkit-transition: none;
      -ms-transition: none;
      transition: none;

      &:before {
        background-color: #222222;
        content: "";
        display: block;
        height: 20px;
        position: absolute;
        right: -1px;
        top: -1px;
        width: 1px;
      }
    }

    &.ui-tabs-active,
    &:hover {
      a {
        background-color: #222;
        color: #fff;
      }
    }
  }
}

// fix tabs on 1 column
.td-pb-span6,
.td-pb-span4 {
  .wpb_tabs_nav {
    margin-left: auto;
    margin-right: auto;
    display: table
  }
}

// new tabs from the latest VC version
.vc_tta-container .vc_tta-color-grey.vc_tta-tabs-position-top.vc_tta-style-classic {
  .td_block_wrap {
    border-top: 0;
  }

  // fix if you use blocks without top padding
  .td_block_13,
  .td_block_14,
  .td_block_15,
  .td-big-grids {
    padding-top: 20px;
    left: 0;
  }

  .vc_tta-panels-container {
    margin-top: -5px;

    .vc_tta-panels {
      background-color: transparent;
      border: none;
    }
  }

  .vc_tta-tabs-container {
    margin: 20px 20px 0 19px;
    display: block;
    line-height: 1;

    .vc_tta-tabs-list {
      /* responsive portrait phone */
      @media (max-width: @responsive_p_phone_max) {
        text-align: center;
      }
    }

    /* responsive portrait phone */
    @media (max-width: @responsive_p_phone_max) {
      margin: 20px 10px 0 10px;
    }

    .vc_tta-tabs-list {
      margin: 0;
      padding: 0;
    }

    .vc_tta-tab {
      line-height: 16px;
      margin: 0 0 5px 0 !important;

      &:first-child {
        a {
          border-radius: 3px 0 0 3px;
        }
      }

      &:last-child {
        a {
          border-radius: 0 3px 3px 0;
          border-right: 1px solid #222;

          &:before {
            display: none;
          }
        }
      }

      &.vc_active > a,
      &:hover > a {
        border-color: transparent;
        background-color: #222;
        color: #fff;
      }

      > a {
        background-color: #fff;
        color: #444;
        border-top: 1px solid #222;
        border-left: 1px solid #222;
        border-bottom: 1px solid #222 !important;
        border-right: 0;
        border-radius: 0;
        padding: 1px 15px !important;
        font-family: @font1;
        font-size: 11px;
        line-height: 16px;
        font-weight: 700;
        text-transform: uppercase;
        position: relative;
        white-space: nowrap;

        &:before {
          background-color: #222;
          content: "";
          display: block;
          height: 20px;
          position: absolute;
          right: -1px;
          top: -1px;
          width: 1px;
        }
      }
    }
  }

  .vc_tta-panel-heading {
    display: none;
  }

  .vc_tta-panel-body {
    padding: 0;
    background-color: transparent;
    border-width: 0 !important;
    border-radius: 0 !important;
  }
}
// fix tabs on 1 column
.td-pb-span6,
.td-pb-span4 {
  .vc_tta-container .vc_tta-color-grey.vc_tta-tabs-position-top.vc_tta-style-classic .vc_tta-tabs-container {
    .vc_tta-tabs-list {
      text-align: center;
    }
  }
}


/*
    Tour section
*/
.wpb_tour {
  .wpb_heading {
    float: left;
  }

  .wpb_tabs_nav {
    clear: both
  }

  .wpb_tabs_nav li {
    line-height: 16px;
    margin: 0 !important;

    &:first-child {
      a {
        border-radius: 3px 0 0 0;
      }
    }

    &:last-child {
      a {
        border-radius: 0 0 0 3px;
        border-bottom: 1px solid #444444;
      }
    }

    a {
      background-color: #fff;
      color: #444;
      border-top: 1px solid #444;
      border-left: 1px solid #444;
      border-right: 1px solid #444 !important;
      border-bottom: 0;
      border-radius: 0;
      padding: 4px 15px !important;
      font-family: @font1;
      font-size: 11px;
      line-height: 16px;
      font-weight: 700;
      text-transform: uppercase;
    }

    &.ui-tabs-active {
      a {
        background-color: #444;
        color: #fff;
      }
    }

    &:hover {
      a {
        background-color: #444;
        color: #fff;
      }
    }
  }

  .wpb_content_element {
    padding: 0 !important;
  }
}

/*
    Accordion
*/
.wpb_accordion {
  padding-top: 20px;

  .ui-state-active {
    a {
      background-color: #444 !important;
      color: #fff !important;
    }
  }

  .wpb_content_element {
    padding: 0 !important;
  }

  .wpb_accordion_content {
    padding: 10px 0 20px 0 !important;
  }

  .wpb_accordion_header {
    background-color: #fff !important;
    margin-bottom: 5px !important;

    span {
      top: 0 !important;
      bottom: 0 !important;
      margin: auto;
    }

    a {
      background-color: #fff;
      color: #444;
      border: 1px solid #444;
      border-radius: 3px;
      padding: 4px 15px !important;
      font-family: @font1;
      font-size: 11px;
      line-height: 16px;
      font-weight: 700;
      text-transform: uppercase;
    }
  }
}
.vc_tta-accordion.vc_tta-style-classic {
  .vc_tta-panel-body {
    padding: 0;
    border-width: 0;
    border-radius: 0;
  }
}


/*
    Posts grid
*/
.wpb_teaser_grid {
  padding: 23px 0 0 0;
  .wpb_teaser_grid_heading {
    margin-left: 20px;
  }
}

.teaser_grid_container {
  ul {
    margin: 0;
  }

  li {
    padding: 0 20px !important;
    width: 33% !important;

    /* responsive portrait tablet */
    @media (min-width: @responsive_p_tablet_min) and (max-width: @responsive_p_tablet_max) {
      padding: 0 16px !important;
    }
  }

  .post-title {
    margin: 0 0 10px 0;
    line-height: 16px;

    a {
      font-size: 13px;
      font-weight: 600;
      line-height: 16px;
      margin: 0 0 12px 0;
      color: #222;
    }
  }

  .post-thumb {
    img {
      margin-bottom: 35px !important;
    }
  }
}

/*
    Carousel
*/
.vc_carousel {
  padding: 0;

  .vc_carousel {
    padding: 23px 0 20px 0;
  }

  .vc_slide {
    margin: 0 20px !important;

    /* responsive portrait tablet */
    @media (min-width: @responsive_p_tablet_min) and (max-width: @responsive_p_tablet_max) {
      margin: 0 17px !important;
    }

    /* responsive portrait phone */
    @media (max-width: @responsive_p_phone_max) {
      margin: 0 10px !important;
    }
  }

  .vc_per-view-more {
    margin: 0 !important;
  }

  .icon-next:before,
  .icon-prev:before {
    top: 0 !important;
  }

  .wpb_gallery_heading {
    margin: 20px 0 0 20px;
    top: 0;

    /* responsive portrait tablet */
    @media (min-width: @responsive_p_tablet_min) and (max-width: @responsive_p_tablet_max) {
      margin-left: 17px;
    }

    /* responsive portrait phone */
    @media (max-width: @responsive_p_phone_max) {
      margin-left: 10px;
    }
  }

  .post-title {
    margin: 0 0 10px 0;
    line-height: 16px;

    a {
      font-size: 13px;
      font-weight: 600;
      line-height: 10px;
      margin: 0 0 12px 0;
      color: #222;
    }
  }
}

/*
    Buttons
*/
.wpb_button {
  display: inline-block;
  font-family: @font1;
  font-weight: 600;
  line-height: 24px;
  text-shadow: none;
  margin-bottom: 20px !important;
  margin-left: 20px;
  margin-right: 20px;
  border: none;
  transition: none;

  &:hover {
    text-shadow: none;
  }
}

.vc_btn {
  margin-bottom: 20px !important;
  margin-left: 20px;
  margin-right: 20px;
  transition: none !important;
}

// remove the padding in post
.td-post-content .vc_btn {
  margin-left: 0;
  margin-right: 0;
}

// remove the padding when the button is in a text box from VC
.wpb_text_column .vc_btn,
.widget_text .vc_btn {
  margin-left: 0;
  margin-right: 0;
}

body .vc_btn:hover {
  text-decoration: none !important;
}

.vc_btn-black:hover,
.wpb_btn-black:hover {
  background-color: @td_theme_color !important;
}

.wpb_default {
  background-color: @td_theme_color;

  &:hover {
    text-shadow: none;
    background-color: @td_theme_color;
    opacity: 0.8;
    .transition(opacity @td_transition_time);
  }
}


/*
    Call to action
*/
.wpb_call_to_action {
  padding-top: 20px;
  background-color: #444;

  .wpb_call_text {
    color: #fff;
  }
}

.vc_call_to_action {
  padding-top: 20px;
}


/*
    Video
*/
.wpb_video_widget {
  margin-bottom: 26px;

  .wpb_video_wrapper {
    padding-top: 0 !important;

    iframe {
      position: relative;
    }
  }
}


/*
    Flickr
*/
.wpb_flickr_widget {
  .wpb_heading {
    display: table;
  }
}

/*
    VC 4.4
*/
.vc_custom_heading h4 {
  margin: 0;
}

.vc_grid .vc_btn {
  margin: 0 !important;
}