@import "mixins.less";
@import "themes/widgets.less";

.loop(@i: length(@themes)) when (@i > 0) and not (@themes = '') {

  @theme: e(extract(@themes, @i));

  @class: ~"quadmenu-@{theme}";

  @font_font-family: "@{theme}_font_font-family";
  @font_font-weight: "@{theme}_font_font-weight";
  @font_font-size: "@{theme}_font_font-size";
  @font_font-style: "@{theme}_font_font-style";
  @font_letter-spacing: "@{theme}_font_letter-spacing";

  @navbar_font_font-family: "@{theme}_navbar_font_font-family";
  @navbar_font_font-weight: "@{theme}_navbar_font_font-weight";
  @navbar_font_font-size: "@{theme}_navbar_font_font-size";
  @navbar_font_font-style: "@{theme}_navbar_font_font-style";
  @navbar_font_letter-spacing: "@{theme}_navbar_font_letter-spacing";

  @dropdown_font_font-family: "@{theme}_dropdown_font_font-family";
  @dropdown_font_font-weight: "@{theme}_dropdown_font_font-weight";
  @dropdown_font_font-size: "@{theme}_dropdown_font_font-size";
  @dropdown_font_font-style: "@{theme}_dropdown_font_font-style";
  @dropdown_font_letter-spacing: "@{theme}_dropdown_font_letter-spacing";

  @navbar_width:  "@{theme}_navbar_width";
  @navbar_height:  "@{theme}_navbar_height";
  @sticky_height:  "@{theme}_sticky_height";

  @navbar_background_color: "@{theme}_navbar_background_color";
  @navbar_background_to: "@{theme}_navbar_background_to";
  @navbar_background_deg: "@{theme}_navbar_background_deg";

  @sticky_background_color: "@{theme}_sticky_background"; 

  @navbar_mobile_border_color: "@{theme}_navbar_mobile_border";

  @navbar_logo_bg: "@{theme}_navbar_logo_bg";
  @navbar_logo_height:  "@{theme}_navbar_logo_height";  
  @sticky_logo_height:  "@{theme}_sticky_logo_height";   

  @navbar_link_bg: "@{theme}_navbar_link_bg";

  @navbar_link_bg_hover: "@{theme}_navbar_link_bg_hover"; 

  @navbar_divider: "@{theme}_navbar_divider";

  @navbar_link_hover_effect: "@{theme}_navbar_link_hover_effect";

  @navbar_link_margin_top: "@{theme}_navbar_link_margin_border-top";
  @navbar_link_margin_bottom: "@{theme}_navbar_link_margin_border-bottom";
  @navbar_link_margin_left: "@{theme}_navbar_link_margin_border-left";
  @navbar_link_margin_right: "@{theme}_navbar_link_margin_border-right";

  @navbar_link_radius_top: "@{theme}_navbar_link_radius_border-top";
  @navbar_link_radius_bottom: "@{theme}_navbar_link_radius_border-bottom";
  @navbar_link_radius_left: "@{theme}_navbar_link_radius_border-left";
  @navbar_link_radius_right: "@{theme}_navbar_link_radius_border-right";

  @dropdown_margin: "@{theme}_dropdown_margin";
  @dropdown_radius_top: "@{theme}_dropdown_radius_border-top";
  @dropdown_radius_right: "@{theme}_dropdown_radius_border-right";
  @dropdown_radius_bottom: "@{theme}_dropdown_radius_border-bottom";
  @dropdown_radius_left: "@{theme}_dropdown_radius_border-left";
  @dropdown_border_color: "@{theme}_dropdown_border_border-color";   
  @dropdown_border_top: "@{theme}_dropdown_border_border-top";
  @dropdown_border_right: "@{theme}_dropdown_border_border-right";
  @dropdown_border_bottom: "@{theme}_dropdown_border_border-bottom";
  @dropdown_border_left: "@{theme}_dropdown_border_border-left";

  @dropdown_background: "@{theme}_dropdown_background";

  @dropdown_title_border_width:  "@{theme}_dropdown_title_border_border-top";
  @dropdown_title_border_style:  "@{theme}_dropdown_title_border_border-style";
  @dropdown_title_border_color:  "@{theme}_dropdown_title_border_border-color";

  @dropdown_link: "@{theme}_dropdown_link";

  @dropdown_link_hover: "@{theme}_dropdown_link_hover";
  @dropdown_link_bg_hover:  "@{theme}_dropdown_link_bg_hover";

  @dropdown_link_border_width:  "@{theme}_dropdown_link_border_border-top";
  @dropdown_link_border_style:  "@{theme}_dropdown_link_border_border-style";
  @dropdown_link_border_color:  "@{theme}_dropdown_link_border_border-color";

  // Button
  // -------------------------------------------------------------------------

  @dropdown_button_radius_top: "@{theme}_dropdown_button_radius_border-top";
  @dropdown_button_radius_right: "@{theme}_dropdown_button_radius_border-right";
  @dropdown_button_radius_bottom: "@{theme}_dropdown_button_radius_border-bottom";
  @dropdown_button_radius_left: "@{theme}_dropdown_button_radius_border-left";

  // Tab
  // -------------------------------------------------------------------------

  @dropdown_tab_bg:  "@{theme}_dropdown_tab_bg";
  @dropdown_tab_bg_hover:  "@{theme}_dropdown_tab_bg_hover";


  #quadmenu {
    &.@{class} {

      // Fonts
      // -----------------------------------------------------------------

      .widget {
        a,
        ul li {
          font-family: @@dropdown_font_font-family;
          font-size: @@dropdown_font_font-size * 1px;
          font-weight: @@dropdown_font_font-weight;
          font-style: @@dropdown_font_font-style;
          .letter-spacing(@@dropdown_font_letter-spacing);
        }

        &.widget_rss {
          span.rss-date {
            font-size: @@font_font-size  * 1px- 2px;
          }
        }

        &.widget_products,
        &.widget_recent_reviews,
        &.widget_shopping_cart,
        &.widget_recently_viewed_products,
        &.widget_top_rated_products,
        &.widget_featured_posts {

          li {
            > a,
            > a > span.product-title {
              text-transform:  ~"@{@{theme}_dropdown_link_transform}";
              font-family: @@dropdown_font_font-family;
              font-size: @@dropdown_font_font-size * 1px;
              font-weight: @@dropdown_font_font-weight;
              font-style: @@dropdown_font_font-style;
              .letter-spacing(@@dropdown_font_letter-spacing);
            }

            > .date,
            > a > .date {
              font-size: @@font_font-size * 1px;
            }
          }

        }

        &.widget_products,
        &.widget_recent_reviews,
        &.widget_shopping_cart,
        &.widget_recently_viewed_products,
        &.widget_top_rated_products {

          li span.reviewer,
          li span.amount {
            font-size: @@font_font-size  * 1px - 2px;
          }      

        }

        &.widget_price_filter {
          .price_slider_amount {
            font-size: @@font_font-size  * 1px- 2px;
          }
        }

      }

      .widget {

        // General List
        // -------------------------------------------------------------
        ul {
          list-style: none;
          margin: 0;

          li {
            a {
              color: @@dropdown_link;

              &:hover {
                color: @@dropdown_link_hover;
              }
            }
          }

          li:last-child {
            border-bottom: 0;
            padding-bottom: 0;
          }

        }                
        &.widget_tag_cloud, 
        &.widget_product_tag_cloud {
          a {
            color: ~"@{@{theme}_dropdown_link_icon}";

            &:hover {
              color: ~"@{@{theme}_dropdown_link_icon_hover}"; 
            }
          }
        }

        &.widget_categories,
        &.widget_product_categories {
          ul > li > span.count {
            //background-color: ~"@{@{theme}_dropdown_link_icon}";
            color: ~"@{@{theme}_dropdown_link_icon}";
          }
        }

        &.widget_recent_comments,
        &.widget_recent_entries {
          ul > li > span.comment-author-link,
          ul > li > span.post-date {
            color: ~"@{@{theme}_navbar_link_subtitle}";
          }   
        }

        &.widget_shopping_cart {

          ul.cart_list {

            li > a.remove {              
              color: ~"@{@{theme}_dropdown_link}";            
              .background-color-diff(@@dropdown_background, 10);

              &:hover {
                .background-color-diff(@@dropdown_background, 20);
              }
            }
          }

          .total {
            font-family: @@navbar_font_font-family;
            font-size: @@navbar_font_font-size * 1px;
            font-weight: @@navbar_font_font-weight;
            font-style: @@navbar_font_font-style;
            text-transform:  ~"@{@{theme}_navbar_link_transform}";
            .letter-spacing(@@navbar_font_letter-spacing);
          }


        }
      }
    }

  }

  .loop((@i - 1));
} .loop;