/**
CSS Grid
 */
.wpcs_grid { display:grid; grid-gap: 25px; }
.wpcs_grid_4 { grid-template-columns: minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1fr); }
.wpcs_grid_3 { grid-template-columns: minmax(0,1fr) minmax(0,1fr) minmax(0,1fr); }
.wpcs_grid_2 { grid-template-columns: minmax(0,1fr) minmax(0,1fr); }

.wpcs_disable_sub_grid {
  .wpcs_grid { display:block; }
}

.wpcs_margin_elements > * { margin-bottom:7px; }

.wpcs_flex { display:flex; }
.wpcs_flex {
  &.wpcs_v_center { align-items: center; }
  &.wpcs_h_right { justify-content: end; }
}
/**

 */
.wpcs_pd_row {
  .wpcs_pd_col { float:left; }
  .wpcs_pd_col.first { margin-left:0; }
  .wpcs_pd_col.last { margin-right:0; }
}

.wpcs_pd_row::after { clear: both; }

.wpcs_pd_col { margin:0 1%; }

.wpcs_pd_row_1 {
  > .wpcs_pd_col { width:100%; }
}

.wpcs_pd_row_2 {
  > .wpcs_pd_col { width:49%; }
}

.wpcs_pd_row_3 {
  > .wpcs_pd_col { width:32%; }
}

.wpcs_pd_row_4 {
  > .wpcs_pd_col { width:23.5%; }
}

.wpcs_pd_row_5 {
  > .wpcs_pd_col.first { width:40.66666666666667%; }
  > .wpcs_pd_col.last { width:57.333333333333336%; }
}

.wpcs_pd_row_6 {
  > .wpcs_pd_col.first { width:57.333333333333336%; }
  > .wpcs_pd_col.last { width:40.66666666666667%; }
}

.wpcs_pd_row_7 {
  > .wpcs_pd_col.first { width:24%; }
  > .wpcs_pd_col.last { width:74%; }
}

.wpcs_pd_row_8 {
  > .wpcs_pd_col.first { width:74%; }
  > .wpcs_pd_col.last { width:24%; }
}

.wpcs_pd_row_9 {
  > .wpcs_pd_col.first { width:49%; }
  > .wpcs_pd_col { width:23.5%; }
  > .wpcs_pd_col.last { width:23.5%; }
}

.wpcs_pd_row_10 {
  > .wpcs_pd_col.first { width:23.5%; }
  > .wpcs_pd_col { width:23.5%; }
  > .wpcs_pd_col.last { width:49%; }
}

.wpcs_pd_row_11 {
  > .wpcs_pd_col.first { width:23.5%; }
  > .wpcs_pd_col { width:49%; }
  > .wpcs_pd_col.last { width:23.5%; }
}


@media (max-width:1400px) {

  .wpcs_grid.wpcs_grid_4 { grid-template-columns: minmax(0,1fr) minmax(0,1fr) minmax(0,1fr); }

}

@media (max-width:998px) {

    .wpcs_grid.wpcs_grid_3, .wpcs_grid.wpcs_grid_4 { grid-template-columns: minmax(0,1fr) minmax(0,1fr); }

    .wpcs_pd_col {
      float:none; margin-top:25px;
      margin-left:0 !important; margin-right:0 !important;
      width:100% !important;
    }

    .wpcs_pd_col.first { margin-top:0; }

}

@media (max-width:768px) {
  .wpcs_grid.wpcs_grid_3, .wpcs_grid.wpcs_grid_4, .wpcs_grid.wpcs_grid_2 { display:block; }
}
/** --------------------------------------------------------------------------------------------------------------------
LAYOUT & STRUCTURE
 */
.wpcs_credits { font-size:75%; }

/** -------------------------------------
Fahrzeug - Titel
 */
.dxim_vehicle_title h2 { word-wrap:break-word; }

/** -------------------------------------
Fahrzeug - Bild
 */
#wpcs_vehicle_single_image_wrapper {
  position: relative;

  > a.lightbox_opener {
    display:none; width:100%; height:100%;
    position:absolute; top:0; left:0; justify-content: center; align-items: center;

  }
  .wpcs_icon.open {
    font-size:50px; color:white;
  }

}

#wpcs_vehicle_single_image { display:block; width:100%; height:auto; }
#wpcs_thumbnails_wrapper, #wpcs_vehicle_images_wrapper { position: relative; }
#vehicle_single_images_prev_btn, #vehicle_single_images_next_btn { margin:0; }
#wpcs_thumbnails_wrapper .dxim_image_thumbnail img { object-fit: cover; }

#wpcs_vehicle_images_wrapper.vertical {
  display:flex; align-items: flex-start; flex-wrap: wrap;
  #wpcs_vehicle_single_image_wrapper { width:75%; }
  #wpcs_thumbnails_wrapper { width:25%; }
  .slick-vertical .slick-slide { border:none; }
}

// lightbox opener
#wpcs_vehicle_single_image_wrapper:hover {
  > a.lightbox_opener { display:flex; }
}

// arrows in main image
#wpcs_vehicle_images_wrapper.arrows_image {
  #vehicle_single_images_prev_btn, #vehicle_single_images_next_btn { position:absolute; top:50%; z-index:10; }
  #vehicle_single_images_prev_btn { left:0; }
  #vehicle_single_images_next_btn { right:0; }
}

// arrows in thumbnails vertical
#wpcs_vehicle_images_wrapper.vertical.arrows_thumbnails {

  #vehicle_single_images_next_btn, #vehicle_single_images_prev_btn {
    width:100%; text-align: center;
    position:absolute; left:0; z-index:10;
  }

  #vehicle_single_images_next_btn {
    top:0;
    > span { transform:rotate(-90deg); }
  }
  #vehicle_single_images_prev_btn {
    bottom:0;
    > span { transform:rotate(-90deg); }
  }


}

// arrows in thumbnails horizontal
#wpcs_vehicle_images_wrapper.horizontal.arrows_thumbnails {

  #wpcs_thumbnails_wrapper { display:flex; }
  #vehicle_single_images_next_btn, #vehicle_single_images_prev_btn {
    width: 40px; margin:0; padding:0;
    display:flex; justify-content: center; align-items: center;
  }

  #vehicle_single_thumbnails { width:calc(100% - 80px); }

}


.vehicle_single_emission_text { font-size:85%; margin-top:30px; }

/**
VIDEO
 */
#wpcs_single_video {

  position: relative; height: 0; overflow: hidden;
  padding-bottom: 75%; padding-top: 0;

  iframe, object, embed {
    position: absolute; top: 0; left: 0; width: 100%; height: 100%;
  }
}

.wpcs_vehicle_financing_wrapper {
  .wpcs_vehicle_financing_values {
    display:grid; grid-gap: 0; grid-template-columns: 1fr 1fr;
    .item {
      padding:10px 0; border-bottom:1px solid var(--wpcs-theme-border-color);

      span { display:block; }
      .value { font-size:larger; font-weight: bold; }
      .label { font-size:smaller; }
    }
  }

  .wpcs_vehicle_financing_legal {
    margin-top:10px;
    dt, dd { margin:0; padding:0; display:inline-block; }
    dt { width:70%; font-size: smaller; }
    dd { width:30%; text-align:right; font-weight: bold; font-size:smaller; }
  }
}



/** -------------------------------------
PAGE DESIGNER
 */

.wpcs_pd_row {

  .wpcs_pd_col {

    .wpcs_pd_module {
      margin-top:30px;
    }

    .wpcs_pd_module:first-child { margin-top:0; }
  }
}


@media (max-width:480px) {
  #wpcs_vehicle_single_image_wrapper { display: none; }
  #wpcs_vehicle_images_wrapper.vertical #wpcs_thumbnails_wrapper { width:100%; }
  #wpcs_vehicle_images_wrapper.horizontal.arrows_thumbnails #vehicle_single_images_next_btn, #wpcs_vehicle_images_wrapper.horizontal.arrows_thumbnails #vehicle_single_images_prev_btn { display:none; }
  #wpcs_vehicle_images_wrapper.horizontal.arrows_thumbnails #vehicle_single_thumbnails { width: 100%; }
}
/* ----------------------------------
GENERAL
*/
br.dxim_clear { clear:none; }

.dxim_clearfix:before, .wpcs_pd_row:before, .wpcs_pd_row:after, .dxim_clearfix:after { content: " ";  display: table; }
.dxim_clearfix:after,.dxim_clearfix:after { clear: both; }
.dxim_clearfix, .dxim_clearfix { *zoom: 1; }

.dxim_hidden { display:none; }
.wpcs_align_right { text-align:right; }

div.wpcs_spacer { margin-top:25px; }
div.wpcs_element_spacer { margin-bottom:20px; }
div.wpcs_element_spacer_small { margin-bottom:10px; }

.dxim_even { color:var(-wpcs-theme-even-color); background:var(--wpcs-theme-even-bg); }
.dxim_odd { color:var(-wpcs-theme-odd-color); background:var(--wpcs-theme-odd-bg); }

.wpcs_hidden { display:none; }


/** --------------------------------
Icons
 */
.wpcs_icon { line-height: 1 !important; }
.wpcs_icon_spin {
  -webkit-animation: rotation 2s infinite linear;
}

@-webkit-keyframes rotation {
  from {
    -webkit-transform: rotate(0deg);
  }
  to {
    -webkit-transform: rotate(359deg);
  }
}

/** --------------------------------
BUTTONS
 */
a.dxim_button_styled:link, a.dxim_button_styled:visited { text-decoration:none; display:inline-block; color:var(--wpcs-button-color); background:var(--wpcs-button-color-bg); padding:7px 20px;}
a.dxim_button_styled:hover, a.dxim_button_styled:active { color:var(--wpcs-button-color-hover); background:var(--wpcs-button-color-bg-hover);}

div.dxim_vehicle_button { display:inline-block; margin-left:10px; }
div.dxim_vehicle_button:first-child { margin-left:0; }

.dxim_button { margin-right:20px; }
.dxim_button:last-of-type { margin-right:0; }
.dxim_button.ajax_btn .wpcs_icon_spin { display:none; }
.dxim_button.ajax_btn.loading .wpcs_icon_spin { display:inline-block; }

/** --------------------------------
IMAGES
 */
img.img-responsive { width:100%; height: auto; vertical-align: middle; }

/** --------------------------------
EMISSION
 */
.dxim_vehicle_economy {
  .emission_left { float:left; }
  .emission_right { float:right; }
  .eec_image { height: 150px; width: auto; display:block; }
}

.wpcs_energy_efficiency_class_message { font-size:smaller; }
.wpcs_energy_efficiency_class_list {
  margin:0; padding:0;
  list-style:none;
  > div {
    margin:0 0 5px 0; display:block;
    height: 25px; line-height: 25px;
    background: #ccc; background: linear-gradient(90deg, #ccc 0%, #efefef 100%);
    overflow:hidden; position:relative;

    .eec_label {
      width:100px; position:relative;
      padding-left:10px; color:white;
    }

    .eec_label.label_AAAA { background:#009038; width:20%; }
    .eec_label.label_AAAA::after { background:#009038; }

    .eec_label.label_AAA { background:#009038; width:23%; }
    .eec_label.label_AAA::after { background:#009038; }

    .eec_label.label_AA { background:#009038; width:28%; }
    .eec_label.label_AA::after { background:#009038; }

    .eec_label.label_A { background:#009038; width:32%; }
    .eec_label.label_A::after { background:#009038; }

    .eec_label.label_B { background:#58ab27; width:36%; }
    .eec_label.label_B::after { background:#58ab27; }

    .eec_label.label_C { background:#c8d200; width:40%; }
    .eec_label.label_C::after { background:#c8d200; }

    .eec_label.label_D { background:#ffec01; width:43%; }
    .eec_label.label_D::after { background:#ffec01; }

    .eec_label.label_E { background:#faba00; width:48%; }
    .eec_label.label_E::after { background:#faba00; }

    .eec_label.label_F { background:#eb690b; width:53%; }
    .eec_label.label_F::after { background:#eb690b; }

    .eec_label.label_G { background:#e3001b; width:60%; }
    .eec_label.label_G::after { background:#e3001b; }



    .eec_label::after {
      content:' '; position: absolute; right:-8px; top:3px;
      width:18px; height:18px;
      transform: rotate(45deg); background:red;
    }

    .selected {
      position: absolute; top:0; right:0;
      text-align:right; padding-right:10px;
      width:25%; background:black; color:white;
    }

    .selected::before {
      content:' '; position: absolute; left:-9px; top:3px;
      width:18px; height:18px;
      transform: rotate(45deg); background:black;
    }
  }
}

/** --------------------------------
FEATURES
 */
.dxim_vehicle_feature_list {
  margin:0; padding:0;
  li { list-style:none; font-size:110%; }
}

.dxim_feature_group {
  list-style: none; margin:0 0 25px 0; padding:0;
  li.dxim_vehicle_feature {
    margin:5px 0; padding:0; line-height: 20px;
  }
}

.dxim_feature_group.columns-4 { column-count: 4; }
.dxim_feature_group.columns-3 { column-count: 3; }
.dxim_feature_group.columns-2 { column-count: 2; }
.dxim_feature_group.columns-1 { column-count: 1; }

/** --------------------------------
HIGHLIGHTS
 */
.wpcs_vehicle_highlights {
  .wpcs_highlight {
    display:inline-block; padding:10px; border:1px solid var(--wpcs-theme-border-color);
    margin:0 15px 15px 0;
  }
}
.vehicle-on-archive .wpcs_vehicle_highlights {
  .wpcs_highlight { padding:3px; font-size: small; }
}

/**
Filter Form
 */

.dxim_filter {
  label { display:block; margin-bottom:7px; font-size:16px; line-height: 16px; }
  .filter_slider_label { font-size:small; font-weight: bold; }
  .label_inside { font-size:small; }
}

.wpcs_filter_form_grid {
  margin-bottom:20px;
  .wpcs_filter_form_column { float:left; }
  .dxim_filter { margin-bottom:15px; }
  .dxim_filter.label_inside { margin-bottom:30px; }
  .dxim_filter.label_outside[data-filter-type=checkbox] { padding-top:23px; }
}

.wpcs_filter_form_grid.wpcs_columns_4 {
  .wpcs_filter_form_column { width:25%; }
  .wpcs_col_1 .dxim_filter { padding-right:10px; }
  .wpcs_col_2 .dxim_filter { padding-right:10px; padding-left:10px; }
  .wpcs_col_3 .dxim_filter { padding-right:10px; padding-left:10px; }
  .wpcs_col_4 .dxim_filter { padding-left:10px; }

}
.wpcs_filter_form_grid.wpcs_columns_3 {
  .wpcs_filter_form_column { width:33.333%; }
  .wpcs_col_1 .dxim_filter { padding-right:10px; }
  .wpcs_col_2 .dxim_filter { padding-right:10px; padding-left:10px; }
  .wpcs_col_3 .dxim_filter { padding-left:10px; }
}
.wpcs_filter_form_grid.wpcs_columns_2 {
  .wpcs_filter_form_column { width:50%; }
  .wpcs_col_1 .dxim_filter { padding-right:10px; }
  .wpcs_col_2 .dxim_filter { padding-left:10px; }
}
.wpcs_filter_form_grid.wpcs_columns_1 {
  .wpcs_filter_form_column { width:100%; float:none; }
}

.wpcs_filterform_sidebar {

  .wpcs_filter_form_grid.wpcs_columns_1,
  .wpcs_filter_form_grid.wpcs_columns_2,
  .wpcs_filter_form_grid.wpcs_columns_3,
  .wpcs_filter_form_grid.wpcs_columns_4 {

    .wpcs_filter_form_column {
      float:none; width:100%;

    }

    .dxim_filter { padding:0 0 5px 0 !important; }

  }
}


/** --------------------------------
PRICE
 */
.price_wrapper {
  .price_big { font-size:200%; font-weight: bold; display:block; }
  .monthly_installment { display:block; }
  .price_small + .vat::before { content : ', '; }
}
.price_rating {
  display:inline-block;
  .dot { float:left; width:20px; height:8px; background:#ccc; border-radius: 2px; margin-left:4px; }
  .dot:first-child { margin-left:0; }
  .label { clear:left; font-weight: bold; font-size:smaller; }
}
.price_rating.very_good_price {
  .dot { background:#52a11a; }
}
.price_rating.good_price {
  .dot.one, .dot.two, .dot.three, .dot.four { background:#52a11a; }
}
.price_rating.reasonable_price {
  .dot.one, .dot.two, .dot.three { background:#52a11a; }
}
.price_rating.increased_price {
  .dot.one, .dot.two { background:#dea506; }
}
.price_rating.high_price {
  .dot.one { background:#a00; }
}

.price_rating.increased_price, .price_rating.high_price { display:none; }

//.wpcs_vehicle_list .wpcs_grid {
//  .price_rating.increased_price, .price_rating.high_price { display:block; opacity:0; }
// }

/** --------------------------------
TABLES
 */
.wpcs_table {
  border-collapse: collapse; table-layout:auto; margin:0;
  border-style:none;
  font-size:90%;

  tr, td { padding:0; margin:0; border-style:none; border-width:0; }
  td { border-width: 0 0 1px 0; border-style:solid; }
}

/** ---------------------------------
PAGINATION
 */

.dxim_pagination {
  font-size:120%;
  > span, > a { margin-left:10px; }
  > span:first-child, > a:first-child { margin-left:10px; }
}

/* ----------------------------------
Vehicle Specifics
*/

.dxim_vehicle_specifics_list {
  span.netto:after { content: ' '; display:block; }

  .field {
    padding:3px;
    border-bottom:1px solid var(--wpcs-theme-border-color);
    .label { width:40%; float:left; font-weight: bold; }
    .fact { float:left; margin-left:20px;}
  }
}


.dxim_control_buttons .dxim_button { margin:0; }


/* ----------------------------------
SECTION
*/

.dxim_section { margin-top:25px; padding-top:25px; border-top:1px solid var(--wpcs-theme-border-color); }
.dxim_section:first-child { margin-top:0; padding-top:0; border:none; }

.dxim_section_header {
  margin-bottom:20px;
  .wpcs_icon { margin-right:10px; font-size:30px; width:30px; height:30px; }
}

.dxim_spacer { padding-top:25px; }
.dxim_spacer:first-child { padding-top:0; }

/** ------------------------------------
FORMS
*/
.filters_grid { margin-bottom:20px; grid-gap:15px; }

/** ------------------------------------
Contact FORMS
*/
.vehicle_is_external {
  font-weight: bold;
}

#wpcs_contact_form {
  .row { margin-bottom:15px; }
  .wpcs-error-msg { display:none; }
  .required { font-weight: bold; color:var(--wpcs-theme-primary-color); }
  .row.privacy {
    input, label { float:left; }
    label { width:calc(100% - 35px); margin-left:7px; }
  }

  input[type=text], input[type=email], textarea { display:block; margin-bottom:10px; width:100%; }
}

.select2 {
  width:100%!important;
}

/**
Vehicle Search Request
*/
.wpcs_save_search_request_wrapper {
  .wpcs_vsr_privacy_text { display:none; }
  .wpcs_save_search_request_btn, .wpcs_sr_email_input { margin-right:20px; }
  input[type="email"] { width:auto; }
  .status.error { color:#900; }
  .status.success { color:#090; }
  .wpcs_sr_privacy_wrapper { margin-top:20px; }
}

#wpcs_vsq_list {
  .wpcs_search_request {
    position:relative;
    border-bottom:1px solid var(--wpcs-form-border-color);
    padding-bottom:15px; margin-bottom:15px;
  }

  .filter {
    display:inline-block; background:var(--wpcs-form-active-color); color:var(--wpcs-form-active-inner-color);
    padding:4px 10px; margin:0 10px 10px 0;
  }

  .delete_btn {
    cursor: pointer;
    position:absolute; top:0; right:0;
    .dashicons, .dashicons-before:before {
      width:30px; height:30px; font-size:30px;
    }
  }

}

/**
TextSearch
 */
#wpcs_textsearch {

  position: relative;

  .wpcs_ajax_loader {
    position:absolute; right:20px; top:50%;
  }

  #wpcs_textsearch_reset_btn {
    display:none;
    position:absolute; right:20px; top:50%;
  }

  div.vehicle {
    display:flex;
    border-top:1px solid var(--wpcs-form-border-color);
    padding-top:5px; margin-top:5px;
  }

  div.vehicle:first-child { border:none; padding-top:0; margin-top:0; }

  div.img {
    width:20%;
    img { display:block; }
  }

  div.content {
    width:80%; padding:5px;
    .price_wrapper {
      .price_big { font-size:initial; display:initial; }
      .price_small, .vat { margin-left:8px; font-size:smaller; }
      .vat { display:initial; }
    }
    .dxim_vehicle_emission { font-size:smaller; }

    .specifics {
      line-height: 1.2;
      .field {
        border:1px solid var(--wpcs-form-border-color); padding:3px;
        display:inline-block; margin:0 5px 5px 0; font-size:smaller;
        .label { font-weight: bold; }
      }
    }

    h3 { margin:0; padding:0; line-height: 1; font-size:large; }
  }
}

#wpcs_textsearch_results {
  position:absolute; display:none;
  width:100%;
  max-height: 400px;
  overflow: hidden;
  overflow-y: scroll;
  background:rgba(255,255,255,0.85); border:1px solid var(--wpcs-form-border-color);

  .search_info { margin-top:3px; padding-top:3px; border-top:1px solid var(--wpcs-form-border-color); }
}


@media (max-width:1400px) {
  .wpcs_filter_form_grid.wpcs_columns_4 {
    .wpcs_filter_form_column { width:33.333%; }
    .wpcs_col_3 .dxim_filter { padding:0 0 0 10px; }
    .wpcs_col_4 .dxim_filter { padding:0 10px 0 0; }
  }

  .dxim_feature_group.columns-4 { column-count: 3; }
}


@media (max-width:998px) {
  .wpcs_filter_form_grid.wpcs_columns_3, .wpcs_filter_form_grid.wpcs_columns_4 {
    .wpcs_filter_form_column { width:50%; }
    .wpcs_filter_form_column.wpcs_col_3 { clear:left; }
    .wpcs_col_2 .dxim_filter { padding:0 0 0 10px; }
    .wpcs_col_3 .dxim_filter { padding:0 10px 0 0; }
    .wpcs_col_4 .dxim_filter { padding:0 0 0 10px; }
  }

  .dxim_feature_group.columns-3, .dxim_feature_group.columns-4 { column-count: 2; }

}

@media (max-width:768px) {
  .wpcs_filter_form_grid.wpcs_columns_2, .wpcs_filter_form_grid.wpcs_columns_3, .wpcs_filter_form_grid.wpcs_columns_4 {
    .wpcs_filter_form_column { width:100%; float:none; }
    .wpcs_col_1, .wpcs_col_2, .wpcs_col_3, .wpcs_col_4 {
      .dxim_filter { padding:0; }
    }
  }

  .wpcs_vehicle_list.wpcs_rows .dxim_vehicle_specifics_list_archive .field { width:100%; float:none; }

  .dxim_feature_group.columns-4 { column-count: 1; }
  .dxim_feature_group.columns-3 { column-count: 1; }
  .dxim_feature_group.columns-2 { column-count: 1; }
  .dxim_feature_group.columns-1 { column-count: 1; }

}


/* phones */
@media (max-width:480px) {


  .dxim_vehicle_shortcode_slider {
    .caption {  display:none;  }
  }

  .dxim_vehicle_feature_list {
    margin-left:20px;
    li { display:block; margin-right:0; }
  }

  .dxim_ff_order_bar {
    a.dxim_set_order { margin-right:20px; display:block; }
  }

}