.swf_grid_wrapper {
   max-width: 100%;
   overflow-x: auto;
   overflow-y: hidden;
   min-height: 120px;
   position: relative;
}

.swf_grid .swf_grid_columns {
   display: table;
   width: 100%;
}

.swf_grid tr:nth-child(odd) {
   background-color: #f9f9f9;
}

.swf_grid .swf_column_wrapper {
   display: table-cell;
}

.swf_grid .swf_column_header {
   border-right: 1px solid #d0d0d0;
   padding: 5px 10px;
   border-bottom: 2px solid #d0d0d0;
   background: #fcfcfc linear-gradient(to top, #ececec, #ececec);
}

.swf_grid tr.subheader td {
   position: relative;
}

.swf_grid .swf_column_content {
   padding: 5px 10px;
   border-bottom: 1px solid #d0d0d0;
   height: 20px;
}

.swf_grid table tr td {

}

.swf_grid table tr td.nowrap {
   white-space: nowrap;
}

.swf_grid table tr td img {
   max-width: 35px;
}

.swf_grid_filter {
   font-size: 80%;
   position: relative;
}

div.grid_filter_form {
   display: none;
   position: absolute;
   top: 100%;
   left: 0;
   border: 1px solid #ccc;
   background-color: #fff;
   padding: 15px;
   z-index: 9999;
   box-shadow: 0 2px 10px rgba(0,0,0,0.1);
   width: 200px;
}

/* Adjust position for filters that would overflow right edge */
.swf_grid tr.subheader td:nth-last-child(-n+3) .grid_filter_form {
   right: 0;
   left: auto;
}

div.grid_filter_form form {
   display: flex;
   flex-direction: column;
   gap: 10px;
}

div.grid_filter_form input[type="text"] {
   width: 100%;
   box-sizing: border-box;
   padding: 5px;
}

div.grid_filter_form button {
   width: auto;
   padding: 5px 10px;
   align-self: flex-start;
}

div.grid_filter_form img.grid_filter_close_icon {
   cursor: pointer;
   position: absolute;
   top: 5px;
   right: 5px;
}

.grid_filter_icon {
   cursor: pointer;
   margin-left: 5px;
}

/* Add a container for the form content */
.grid_filter_form_content {
   position: relative;
   width: 100%;
}

/* Style the input and button within the form */
.grid_filter_form input[type="text"] {
   width: calc(100% - 10px);
   padding: 5px;
   margin-bottom: 10px;
}

.grid_filter_form button {
   width: 100%;
   padding: 5px;
   text-align: left;
}

#swf_wrapper form.search_grid_form {
   float: right;
   margin-bottom: 15px;
   margin-top: 5px;
   position: relative;
}

#swf_wrapper input.swf_grid_search {
   min-width: 150px;
   padding-left: 5px;
   position: relative;
}

#swf_wrapper span.swf_grid_search_trigger {
   float: right;
   padding: 0 10px;
   margin-bottom: 3px;
   cursor: pointer;
}

div.swf_paging {
   margin-top: 10px;
   border-bottom: 1px solid #ccc;
   padding-bottom: 10px;
}

div.swf_paging_displaying {
   float: right;
   margin-top: 7px;
}

div.swf_paging_navigation,
div.swf_paging_navigation img,
div.swf_paging_navigation input,
div.swf_paging_navigation span {
   float: left;
   margin-right: 10px;
}

div.swf_paging_navigation img:hover {
   opacity: 0.70;
   filter: alpha(opacity =70);
}

#swf_wrapper div.swf_paging_navigation input.pagin_page_number_field {
   width: 34px !important;
   min-width: 34px !important;
   padding: 0;
   height: 30px;
   margin-right: 10px;
   text-align: center;
}

div.swf_paging_navigation span.page_number_text {
   margin-top: 7px;
   margin-left: 10px;
   padding-left: 10px;
   border-left: 1px solid #ccc;
}

div.swf_paging_navigation span.no_of_pages {
   margin-top: 7px;
   margin-right: 20px;
   padding-right: 10px;
   border-right: 1px solid #ccc;
}

.swf_grid .swfgrid_column_header {
   pointer-events: auto;
}