JSFiddle - React, Tailwind, and code Playground

HTML

<?php

/**
* Default template
* @package Gavick News Show Pro GK4
* @Copyright (C) 2009-2010 Gavick.com
* @ All rights reserved
* @ Joomla! is Free Software
* @ Released under GNU/GPL License : http://www.gnu.org/copyleft/gpl.html
* @version $Revision: 4.0.0 $
**/

// no direct access
defined('_JEXEC') or die('Restricted access');

$news_amount = $this->content['news_amount'];

if($this->config['links_position'] != 'bottom' && $this->config['news_short_pages'] > 0 && count($news_list_tab) > 0 && $this->config['news_full_pages'] > 0){
    $links_width = $this->config['links_width'];
    $arts_width = 100 - $this->config['links_width'];
}else{
    $links_width = 100;
    $arts_width = 100;
}

?>

<?php if($news_amount > 0) : ?>
    <div class="nsp_main<?php if($this->config['autoanim'] == TRUE) echo ' autoanim'; ?><?php if($this->config['hover_anim'] == TRUE) echo ' hover'; ?> nsp_fs<?php echo $this->config['module_font_size']; ?>" id="nsp-<?php echo $this->config['module_id']; ?>" style="width:<?php echo $this->config['module_width']; ?>%;">
        
        <?php if(($this->config['news_column'] * $this->config['news_rows']) > 0) : ?>
            
            <div class="nsp_arts<?php echo ' '.$this->config['links_position']; ?>" style="width:<?php echo $arts_width; ?>%;">
            
                <?php if(
                        count($news_html_tab) > ($this->config['news_column'] * $this->config['news_rows']) && 
                        $this->config['news_full_pages'] > 1 &&
                        $this->config['top_interface_style'] != 'none'
                        ) : ?>
                <div class="nsp_top_interface">
                    <div>
                        <?php if(
                                    $this->config['top_interface_style'] == 'pagination' || 
                                    $this->config['top_interface_style'] == 'arrows_with_pagination'
                                ) : ?>
                        <ul...

CSS

/**
* CSS style
* @package News Show Pro GK4
* @Copyright (C) 2009-2010 Gavick.com
* @ All rights reserved
* @ Joomla! is Free Software
* @ Released under GNU/GPL License : http://www.gnu.org/copyleft/gpl.html
* @version $Revision: 4.0.0 $
**/

.nsp_main{ overflow:hidden; }
.nsp_bottom_interface,
.nsp_top_interface{ overflow:hidden; margin:0 0; width: 100%; height: 28px; position:absolute; top: 60px;}
.nsp_top_inter{ overflow:hidden; margin:0 0; width: 100%; height: 28px; position:absolute; top: 60px;}
.nsp_bottom_interface div,
.nsp_top_interface div{height:100px;
    position: absolute;
 
    top: 0px;
    z-index: 10;
}
    .nsp_bottom_interface .pagination,
    .nsp_top_interface .pagination{ list-style-type:none; margin:0; padding:0; float:left; }
    .nsp_bottom_interface .pagination li,
    .nsp_top_interface .pagination li{ float:left; cursor:pointer; text-indent:-999em; width:16px; height:16px; background:#ddd; margin-right:2px; border-radius:2px 2px; -moz-border-radius:2px 2px; -webkit-border-radius:2px 2px; }
    .nsp_bottom_interface .pagination li:hover,
    .nsp_bottom_interface .pagination li.active,
    .nsp_top_interface .pagination li:hover,
    .nsp_top_interface .pagination li.active{ background:#444;}
    .nsp_bottom_interface .prev,
    .nsp_top_interface .prev{background:url('prev-arrow.png') no-repeat;  padding:1px 3px; cursor:pointer;  float:left;  height:28px; width:28px; left:0; top:1px
}
    
    .nsp_bottom_interface .next,
    .nsp_top_interface .next{ background:url('next-arrow.png') no-repeat; padding:10px 3px; cursor:pointer; height:28px; width:28px;position:absolute;  float: right; right:0; top:1px;
}
.nextnext{ background: url('next-arrow.png') no-repeat;  padding:1px 3px; cursor:pointer; height:28px; width:28px;  float:left; position:absolute; right:0; top:60px;}

    .nsp_bottom_interface .counter,
    .nsp_top_interface .counter{background:#ddd; color:#444; padding:1px 3px; cursor:pointer; border-radius:2px 2px;...