function rd_add_cart_button()
{
    global $product, $rd_config;
    if ($product->product_type == 'bundle') {
        $product = new WC_Product_Bundle($product->id);
    }
    $extraClass = "";
    ob_start();
    woocommerce_template_loop_add_to_cart();
    $output = ob_get_clean();
    if (!empty($output)) {
        $pos = strpos($output, ">");
        if ($pos !== false) {
            $output = substr_replace($output, "> ", $pos, strlen(1));
        }
    }
    if ($product->product_type == 'variable' && empty($output)) {
        $output = '<a class="add_to_cart_button button product_type_variable" href="' . get_permalink($product->id) . '"> ' . __("Select options", "rd_framework") . '</a>';
    }
    if (in_array($product->product_type, array('subscription', 'simple', 'bundle'))) {
        $output .= '<a class="button show_details_button" href="' . get_permalink($product->id) . '">  ' . __("Show Details", "rd_framework") . '</a>';
    }
    if (!$product->is_in_stock()) {
        $output = '<a href="' . get_permalink() . '" rel="nofollow" class="button add_to_cart_button more_info_button out_stock_button"> ' . __("Out of Stock", "rd_framework") . '</a>';
    } else {
        $extraClass = "single_button";
    }
    if (empty($extraClass)) {
        $output .= " <span class='button-mini-delimiter'></span>";
    }
    if ($output && !post_password_required()) {
        echo "<div class='custom_cart_button {$extraClass}'>{$output}</div>";
    }
}