/* --- GLOBAL RESET & LAYOUT --- */
html, body {
	 margin: 0;
	 padding: 0;
	 width: 100%;
	 min-height: 100vh;
	 overflow-x: hidden;
	 background-color: #111;
	 color: #fff;
}

/* Video Selection Screen Styles */
.selection-view {
	 width: 100%;
	 max-width: 100%;
	 display: flex;
	 flex-direction: column;
	 align-items: flex-start;
	 justify-content: flex-start;
	 padding: 40px;
	 box-sizing: border-box;
	 background-color: #111;
	 position: relative;
}

.selection-header {
	 margin-bottom: 20px;
}

/* Stream List Grid Container (Holds category rows) */
#stream-list-grid {
	 width: 100%;
	 max-width: 100%;
	 box-sizing: border-box;
	 display: flex;
	 flex-direction: column;
	 gap: 10px;
}

/* Category Sections */
.media-category {
	 width: 100%;
	 max-width: 100%;
	 margin-bottom: 35px;
	 box-sizing: border-box;
	 overflow: visible; /* CRITICAL: Allows absolute scroll buttons to peek outside */
}

.category-title {
	 font-size: 1.4rem;
	 font-weight: bold;
	 margin-bottom: 15px;
	 color: #fff;
	 border-left: 4px solid #1ce783;
	 padding-left: 10px;
}

/* Media Row Wrapper for Navigation Buttons */
.media-row-wrapper {
	 position: relative;
	 width: 100%;
	 max-width: 100%;
	 display: flex;
	 align-items: center;
	 box-sizing: border-box;
	 overflow: visible; /* Ensures absolute children don't get clipped */
}

/* Horizontal Scroll Rows */
.media-row {
	 display: flex;
	 gap: 16px;
	 overflow-x: auto;
	 width: 100%;
	 max-width: 100%;
	 min-width: 0;
	 flex: 1;
	 padding-bottom: 15px;
	 scroll-behavior: smooth;
	 will-change: scroll-position;
	 transform: translateZ(0);
	 box-sizing: border-box;
	 scrollbar-width: thick; /* For Firefox */
	 scrollbar-color: #1ce783 #2a2a2a; /* Thumb color and track color for Firefox */
}

/* For Chrome, Edge, and Safari */
.media-row::-webkit-scrollbar {
	 display: block !important;
	 height: 8px; /* Thickness of the horizontal scroll bar */
}

.media-row::-webkit-scrollbar-track {
	 background: #1e1e1e; /* Track background color */
	 border-radius: 4px;
}

.media-row::-webkit-scrollbar-thumb {
	 background: #1ce783; /* Scrollbar thumb color matching your accent */
	 border-radius: 4px;
}

.media-row::-webkit-scrollbar-thumb:hover {
	 background: #14b865; /* Darker accent on hover */
}

/* Scroll Arrow Buttons */
.scroll-btn {
	 position: absolute;
	 top: 50%;
	 transform: translateY(-50%);
	 z-index: 10;
	 background: rgba(0, 0, 0, 0.85);
	 color: #fff;
	 border: 1px solid rgba(255, 255, 255, 0.2);
	 width: 45px;
	 height: 60px;
	 font-size: 1.5rem;
	 cursor: pointer;
	 display: flex;
	 align-items: center;
	 justify-content: center;
	 border-radius: 4px;
	 transition: background 0.2s, opacity 0.2s, transform 0.2s;
	 opacity: 0.9;
}

.scroll-btn:hover {
	 background: rgba(28, 231, 131, 0.9);
	 color: #111;
	 border-color: transparent;
	 transform: translateY(-50%);
}

.scroll-btn-left {
	 left: 0;
}

.scroll-btn-right {
	 right: 0;
}

.scroll-btn.hidden {
	 opacity: 0;
	 pointer-events: none;
}

/* Media Cards */
.media-card {
	 flex: 0 0 200px;
	 width: 200px;
	 background: #1e1e1e;
	 border-radius: 6px;
	 overflow: hidden;
	 cursor: pointer;
	 border: 1px solid rgba(255,255,255,0.05);
	 position: relative;
	 transform: translateZ(0);
	 backface-visibility: hidden;
	 box-sizing: border-box;
}

.media-card:hover {
	 background: #1ce783;
	 box-shadow: 0 10px 20px rgba(0,0,0,0.5);
	 border-color: rgba(255,255,255,0.3);
	 z-index: 2;
}

.media-card img {
	 width: 100%;
	 height: 290px;
	 object-fit: cover;
	 background: #2a2a2a;
}

.media-card-title {
	 padding: 10px;
	 font-size: 0.9rem;
	 font-weight: 500;
	 white-space: nowrap;
	 overflow: hidden;
	 text-overflow: ellipsis;
	 margin: 0;
}

/* --- IGNORE (MINUS) RECOMMENDATION BUTTON STYLES --- */
.ignore-rec-btn {
	 position: absolute;
	 top: 6px;
	 right: 6px;
	 background: rgba(0, 0, 0, 0.7);
	 color: #fff;
	 border: 1px solid rgba(255, 255, 255, 0.3);
	 border-radius: 50%;
	 width: 24px;
	 height: 24px;
	 font-size: 14px;
	 display: flex;
	 align-items: center;
	 justify-content: center;
	 cursor: pointer;
	 z-index: 10;
	 transition: background 0.2s, transform 0.2s;
}

.ignore-rec-btn:hover {
	 background: rgba(231, 76, 60, 0.9);
	 transform: scale(1.1);
}

/* Series Detail Modal View */
#series-modal {
	 position: fixed;
	 top: 0;
	 left: 0;
	 width: 100%;
	 height: 100%;
	 background: rgba(0, 0, 0, 0.9);
	 z-index: 100;
	 display: flex;
	 justify-content: center;
	 align-items: center;
	 padding: 40px;
	 box-sizing: border-box;
}

.modal-content {
	 background: #181818;
	 width: 100%;
	 max-width: 1000px;
	 height: 85vh;
	 border-radius: 12px;
	 display: flex;
	 flex-direction: column;
	 overflow: hidden;
	 box-shadow: 0 20px 40px rgba(0,0,0,0.7);
	 border: 1px solid rgba(255,255,255,0.1);
}

.modal-header {
	 padding: 20px 30px;
	 background: #222;
	 display: flex;
	 justify-content: space-between;
	 align-items: center;
	 border-bottom: 1px solid #333;
}

.modal-title-area h2 {
	 margin: 0 0 5px 0;
	 font-size: 1.8rem;
}

.modal-title-area p {
	 margin: 0;
	 color: #888;
	 font-size: 0.9rem;
}

.modal-controls {
	 display: flex;
	 align-items: center;
	 gap: 15px;
}

.season-select {
	 background: #333;
	 color: #fff;
	 border: 1px solid #444;
	 padding: 8px 14px;
	 border-radius: 6px;
	 font-size: 1rem;
	 cursor: pointer;
}

.close-modal-btn {
	 background: transparent;
	 border: none;
	 color: #aaa;
	 font-size: 1.8rem;
	 cursor: pointer;
	 line-height: 1;
}

.close-modal-btn:hover {
	 color: #fff;
}

/* Episode Grid Container */
.episode-grid-container {
	 flex: 1;
	 overflow-y: auto;
	 padding: 30px;
	 display: grid;
	 grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	 grid-auto-rows: max-content;
	 align-content: start;
	 align-items: start;
	 gap: 20px;
	 box-sizing: border-box;
}

.episode-card {
	 background: #222;
	 border-radius: 8px;
	 overflow: hidden;
	 cursor: pointer;
	 transition: transform 0.2s, background 0.2s;
	 border: 1px solid rgba(255,255,255,0.05);
	 box-sizing: border-box;
}

.episode-card:hover {
	 transform: translateY(-4px);
	 background: #2a2a2a;
	 border-color: #1ce783;
}

.episode-thumbnail-wrap {
	 position: relative;
	 width: 100%;
	 aspect-ratio: 16 / 9;
	 background: #333;
}

.episode-thumbnail-wrap img {
	 width: 100%;
	 height: 100%;
	 object-fit: cover;
}

.episode-info {
	 padding: 12px;
}

.episode-number {
	 font-size: 0.75rem;
	 color: #1ce783;
	 font-weight: bold;
	 text-transform: uppercase;
	 margin-bottom: 4px;
}

.episode-title {
	 font-size: 0.95rem;
	 font-weight: 500;
	 margin: 0;
	 white-space: nowrap;
	 overflow: hidden;
	 text-overflow: ellipsis;
}

/* --- TOP ACTION BAR & BUTTONS --- */
.top-action-bar {
	 display: flex;
	 justify-content: flex-end;
	 align-items: center;
	 gap: 10px;
	 width: 100%;
	 margin-bottom: 25px;
	 box-sizing: border-box;
	 flex-wrap: wrap;
	 z-index: 10;
}

.open-search-btn,
.open-download-modal-btn,
#open-history-modal-btn {
	 position: static !important;
	 top: auto !important;
	 right: auto !important;
	 padding: 10px 16px;
	 border-radius: 8px;
	 font-size: 0.95rem;
	 font-weight: 500;
	 cursor: pointer;
	 display: flex;
	 align-items: center;
	 gap: 8px;
	 transition: background 0.2s, border-color 0.2s, transform 0.2s, color 0.2s;
	 box-sizing: border-box;
}

.open-search-btn {
	 background: transparent !important;
	 color: #fff !important;
	 border: 1px solid #444 !important;
}

.open-search-btn:hover {
	 background: #1ce783 !important;
	 color: #111 !important;
	 border-color: #1ce783 !important;
	 transform: scale(1.03);
}

.open-download-modal-btn {
	 background: transparent;
	 color: #fff;
	 border: 1px solid rgba(229, 9, 20, 0.4);
}

.open-download-modal-btn:hover {
	 background: #e50914;
	 border-color: #e50914;
	 transform: scale(1.03);
}

#open-history-modal-btn {
	 background: transparent;
	 color: #fff;
	 border: 1px solid #444;
}

#open-history-modal-btn:hover {
	 background: #1ce783;
	 color: #111;
	 border-color: #1ce783;
	 transform: scale(1.03);
}

@media (max-width: 576px) {
	 .top-action-bar {
		  justify-content: center;
		  gap: 8px;
	 }
	 
	 .open-search-btn,
	 .open-download-modal-btn,
	 #open-history-modal-btn {
		  padding: 8px 12px;
		  font-size: 0.85rem;
	 }
}

/* Search Modal Frame Overlay */
.search-modal {
	 position: fixed;
	 top: 0;
	 left: 0;
	 width: 100vw;
	 height: 100vh;
	 background: rgba(0, 0, 0, 0.8);
	 display: flex;
	 justify-content: center;
	 align-items: center;
	 z-index: 1000;
}

.search-modal.hidden {
	 display: none;
	 opacity: 0;
}

.search-modal-content {
	 background: #181818;
	 width: 90%;
	 max-width: 600px;
	 height: 85vh;
	 max-height: 85vh;
	 border-radius: 8px;
	 display: flex;
	 flex-direction: column;
	 overflow: hidden;
	 box-sizing: border-box;
	 box-shadow: 0 4px 20px rgba(0, 0, 0, 0.5);
}

.download-modal-content {
	 max-width: 750px;
	 overflow: visible;
}

/* Base shared properties (optional, if you want them to share foundational layout) */
.search-bar-header {
	padding: 0 20px;
	background: #222;
	border-bottom: 1px solid #333;
}

/* --- LIBRARY SEARCH BAR HEADER STYLING --- */
.library-search-header {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	background: #202020; /* Custom background for library header */
	padding: 15px 20px;
	border-bottom: 2px solid #1ce783;
}

/* --- DOWNLOAD SEARCH BAR HEADER ONLY --- */
.download-search-header {
	padding: 0 20px;
	height: 60px; /* Fixed height for uniform alignment */
	background: #222;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 15px;
	border-bottom: 1px solid #333;
	box-sizing: border-box;
}

/* Fix header title layout and alignment inside the download header */
.download-search-header h2 {
	flex: 1;
	margin: 0;
	font-size: 1.25rem;
	font-weight: 600;
	color: #fff;
	text-align: center;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}


/* --- UPDATED HISTORY HEADER STYLES --- */
.history-header {
	padding: 0 20px;
	height: 60px; /* Matches download header height */
	background: #222;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 15px;
	border-bottom: 1px solid #333;
	box-sizing: border-box;
}

.history-header h2 {
	flex: 1;
	margin: 0; /* Reset top margin so it centers vertically */
	font-size: 1.25rem;
	font-weight: 600;
	color: #fff;
	text-align: center;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}


.search-input-wrapper {
	 flex: 1;
	 display: flex;
	 align-items: center;
	 background: #111;
	 border: 1px solid #444;
	 border-radius: 8px;
	 padding: 10px 14px;
	 gap: 10px;
	 color: #888;
	 box-sizing: border-box;
	 margin-top: 12px;
}

.search-input-wrapper:focus-within {
	 border-color: #1ce783;
	 color: #1ce783;
}

.search-input-wrapper input {
	 flex: 1;
	 background: transparent;
	 border: none;
	 color: #fff;
	 font-size: 1rem;
	 outline: none;
}

.close-search-btn {
	 background: transparent;
	 border: none;
	 color: #aaa;
	 font-size: 2rem;
	 cursor: pointer;
	 line-height: 1;
}

.close-search-btn:hover {
	 color: #fff;
}

/* Ensure the close button shares uniform styling behavior */
.close-search-btn {
	background: transparent;
	border: none;
	color: #aaa;
	font-size: 2rem;
	cursor: pointer;
	line-height: 1;
	padding: 0;
	transition: color 0.2s ease;
}

.close-search-btn:hover {
	color: #1ce783; /* Matches the site's accent hover consistency */
}

.search-results-container {
	 flex: 1;
	 overflow-y: auto;
	 overflow-x: hidden;
	 padding: 15px;
	 display: flex;
	 flex-direction: column;
	 gap: 10px;
	 min-height: 0;
	 box-sizing: border-box;
}

.search-placeholder-text, .search-no-results {
	 text-align: center;
	 color: #777;
	 margin-top: 40px;
	 font-size: 0.95rem;
}

.search-result-card {
	 display: flex;
	 align-items: center;
	 gap: 15px;
	 background: #202020;
	 padding: 10px 15px;
	 border-radius: 8px;
	 cursor: pointer;
	 transition: background 0.2s, transform 0.1s;
	 border: 1px solid rgba(255, 255, 255, 0.04);
	 box-sizing: border-box;
}

.search-result-card:hover {
	 background: #2a2a2a;
	 border-color: #1ce783;
}

.search-result-thumb {
	 width: 45px;
	 height: 65px;
	 border-radius: 4px;
	 object-fit: cover;
	 background: #333;
	 flex-shrink: 0;
}

.search-result-info {
	 flex: 1;
	 overflow: hidden;
}

.search-result-title {
	 font-size: 1rem;
	 font-weight: 500;
	 color: #fff;
	 margin: 0 0 4px 0;
	 white-space: nowrap;
	 overflow: hidden;
	 text-overflow: ellipsis;
}

.search-result-meta {
	 font-size: 0.8rem;
	 color: #888;
	 margin: 0;
	 display: flex;
	 gap: 10px;
}

.search-result-badge {
	 color: #1ce783;
	 font-weight: bold;
	 text-transform: uppercase;
}

.hidden {
	 display: none !important;
}

/* ==========================================
	DOWNLOADING & QUALITY STYLES
	========================================== */

.search-modal-content.download-modal-content {
	 width: 90%;
	 max-width: 750px;
	 height: 85vh;
	 max-height: 85vh;
	 overflow: hidden;
	 display: flex;
	 flex-direction: column;
}

.download-modal-content, .download-streams-container {
	 min-height: 0;
}

.download-modal-header {
	 display: flex;
	 align-items: center;
	 justify-content: space-between;
	 overflow: hidden;
}

.download-modal-content > div:not(.search-bar-header) {
	 padding: 0 20px;
	 overflow-y: auto;
	 flex: 1;
	 display: flex;
	 flex-direction: column;
	 min-height: 0;
}

/* Download Search Area & Submit Buttons */
.download-search-area {
	 display: flex;
	 align-items: center;
	 gap: 8px;
	 margin-bottom: 0;
}

.search-input {
	 flex: 1;
	 height: 42px;
	 box-sizing: border-box;
	 background: #111;
	 border: 1px solid #444;
	 color: #fff;
	 padding: 0 12px;
	 border-radius: 8px;
	 outline: none;
}

.search-input:focus {
	 border-color: #1ce783;
}

.download-submit-btn,
#download-search-submit {
	 height: 42px;
	 width: 82px;
	 flex-shrink: 0;
	 margin: 0;
}

.download-season-action-btn {
	 position: relative;
	 margin-top: 6px;
	 padding: 8px 16px;
	 flex-shrink: 0;
}

/* Combined Button Styles */
.download-submit-btn,
#download-search-submit,
.download-season-action-btn {
	 background: #111 !important;
	 color: #fff !important;
	 border: 1px solid #444 !important;
	 border-radius: 8px;
	 font-size: 0.95rem;
	 font-weight: 600;
	 cursor: pointer;
	 box-sizing: border-box;
	 display: inline-flex;
	 align-items: center;
	 justify-content: center;
	 transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.1s ease;
}

.download-submit-btn:hover,
#download-search-submit:hover,
.download-season-action-btn:hover {
	 background: #1ce783 !important;
	 color: #111 !important;
	 border-color: #1ce783 !important;
	 transform: scale(1.02);
}

.download-streams-header {
	 display: flex;
	 align-items: center;
	 gap: 12px;
	 margin-bottom: 5px;
}

#selected-media-title {
	 display: flex;
	 align-items: center;
	 justify-content: space-between;
	 gap: 12px;
	 width: 100%;
	 flex-wrap: wrap;
}

#selected-media-title > span:first-child {
	 white-space: nowrap;
	 overflow: hidden;
	 text-overflow: ellipsis;
	 flex: 1;
	 min-width: 150px;
}

#download-streams-view {
	 display: flex;
	 flex-direction: column;
	 height: 100%;
	 overflow-y: auto;
	 padding-top: 10px;
}



/* ==========================================
    QUALITY OPTIONS STYLES
    ========================================== */

.quality-filters {
     background: #202020;
     border: 1px solid rgba(255, 255, 255, 0.08);
     border-radius: 8px;
     padding: 10px 12px;
     margin-bottom: 12px;
}

.quality-filters label.font-weight-bold {
     display: block !important;
     width: 100%;
     clear: both;
     color: #fff;
     font-size: 0.8rem;
     font-weight: 600;
     text-transform: uppercase;
     letter-spacing: 0.5px;
     margin-bottom: 4px;
     margin-top: 8px;
}

.quality-filters label.font-weight-bold:first-of-type {
     margin-top: 0;
}

.quality-filters .form-check-inline {
     display: inline-flex;
     align-items: center;
     background: #181818;
     border: 1px solid #333;
     padding: 4px 10px;
     border-radius: 6px;
     margin-right: 6px;
     margin-bottom: 4px;
     cursor: pointer;
     transition: border-color 0.2s, background 0.2s;
}

.quality-filters .form-check-inline:hover {
     border-color: #1ce783;
     background: #222;
}

.quality-filters .form-check-input {
     appearance: none;
     -webkit-appearance: none;
     width: 14px;
     height: 14px;
     background: #111;
     border: 1px solid #555;
     border-radius: 4px;
     margin-right: 6px;
     cursor: pointer;
     position: relative;
     display: inline-flex;
     align-items: center;
     justify-content: center;
}

.quality-filters .form-check-input:checked {
     background: #1ce783;
     border-color: #1ce783;
}

.quality-filters .form-check-input:checked::after {
     content: "";
     width: 3px;
     height: 7px;
     border: solid #111;
     border-width: 0 2px 2px 0;
     transform: rotate(45deg);
     position: relative;
     top: -1px;
}

.quality-filters .form-check-label {
     color: #ccc;
     font-size: 0.85rem;
     cursor: pointer;
     user-select: none;
}

.quality-filters .form-check-input:checked ~ .form-check-label {
     color: #fff;
     font-weight: 500;
}

.quality-filters .form-group {
     display: flex;
     align-items: center;
     gap: 8px;
     margin-top: 6px;
     padding-top: 6px;
     border-top: 1px solid rgba(255, 255, 255, 0.05);
     clear: both;
}

.quality-filters .form-group label {
     color: #aaa;
     font-size: 0.8rem;
     margin: 0;
}

.quality-filters input[type="number"] {
     background: #111;
     border: 1px solid #444;
     color: #fff;
     padding: 4px 8px;
     border-radius: 6px;
     font-size: 0.85rem;
     width: 70px !important;
     outline: none;
}

.quality-filters input[type="number"]:focus {
     border-color: #1ce783;
}

/* ==========================================
    MOBILE ONLY STYLES (Max-height & Scroll)
    ========================================== */
@media (max-width: 768px) {
    .quality-filters {
        max-height: 180px;      /* Adjust this height to fit how many items you want visible */
        overflow-y: auto;       /* Adds the vertical scroll bar */
        scrollbar-width: thin;  /* For Firefox: makes the scrollbar sleek */
    }

    /* Optional: Custom scrollbar styling for Webkit browsers (Chrome, Safari, Edge) */
    .quality-filters::-webkit-scrollbar {
        width: 5px;
    }
    .quality-filters::-webkit-scrollbar-track {
        background: rgba(0, 0, 0, 0.1);
        border-radius: 8px;
    }
    .quality-filters::-webkit-scrollbar-thumb {
        background: #444;
        border-radius: 8px;
    }
}

/* Elegant Back Button Styling */
.back-search-btn {
	background: transparent;
	border: none;
	color: #aaa;
	font-size: 1.5rem;
	cursor: pointer;
	padding: 0 8px;
	line-height: 1;
	transition: color 0.2s ease, transform 0.2s ease;
}


/* Utility to hide elements */
.search-modal .hidden {
	display: none !important;
}

/* Site-styled Back Button matching your close button and accent hover */
.back-search-btn {
	background: transparent;
	border: none;
	color: #aaa;
	font-size: 1.5rem;
	cursor: pointer;
	padding: 0 8px;
	line-height: 1;
	width: 36px; /* Reserve a fixed width so it doesn't squish or shift the layout */
	text-align: center;
	flex-shrink: 0;
	transition: color 0.2s ease, transform 0.2s ease, opacity 0.2s ease;
}

/* When hidden, keep its space in the layout instead of collapsing completely */
.back-search-btn.hidden {
	visibility: hidden;
	opacity: 0;
	pointer-events: none;
	display: block !important; /* Overrides the global .hidden display: none rule for this element only */
}

.back-search-btn:hover {
	color: #1ce783;
}


/* ==========================================
   MOBILE ONLY STYLES (Max-height & Scroll)
   ========================================== */
@media (max-height: 768px) {
    .quality-filters {
        max-height: 150px !important;     /* Restrict height on mobile */
        overflow-y: auto !important;      /* Force local vertical scroll */
        overflow-x: hidden !important;
        scrollbar-width: thin;            /* Firefox slim scrollbar */
        -webkit-overflow-scrolling: touch; /* Momentum scrolling for iOS */
    }

    /* Custom Webkit scrollbar for Chrome, Safari, Edge */
    .quality-filters::-webkit-scrollbar {
        width: 4px !important;
        display: block !important;
    }
    .quality-filters::-webkit-scrollbar-track {
        background: rgba(0, 0, 0, 0.2) !important;
        border-radius: 4px;
    }
    .quality-filters::-webkit-scrollbar-thumb {
        background: #1ce783 !important;
        border-radius: 4px;
    }
}

@media (max-width: 768px) {
    .quality-filters {
        max-height: 150px !important;     /* Restrict height on mobile */
        overflow-y: auto !important;      /* Force local vertical scroll */
        overflow-x: hidden !important;
        scrollbar-width: thin;            /* Firefox slim scrollbar */
        -webkit-overflow-scrolling: touch; /* Momentum scrolling for iOS */
    }

    /* Custom Webkit scrollbar for Chrome, Safari, Edge */
    .quality-filters::-webkit-scrollbar {
        width: 4px !important;
        display: block !important;
    }
    .quality-filters::-webkit-scrollbar-track {
        background: rgba(0, 0, 0, 0.2) !important;
        border-radius: 4px;
    }
    .quality-filters::-webkit-scrollbar-thumb {
        background: #1ce783 !important;
        border-radius: 4px;
    }
}