/**
 *    This file is part of "PCPIN Chat 6".
 *
 *    "PCPIN Chat 6" is free software; you can redistribute it and/or modify
 *    it under the terms of the GNU General Public License as published by
 *    the Free Software Foundation; either version 3 of the License, or
 *    (at your option) any later version.
 *
 *    "PCPIN Chat 6" is distributed in the hope that it will be useful,
 *    but WITHOUT ANY WARRANTY; without even the implied warranty of
 *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *    GNU General Public License for more details.
 *
 *    You should have received a copy of the GNU General Public License
 *    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
 * {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html, body, pre {
  color: #ffffff;
  font-family: 'Roboto', sans-serif;
  font-size: 1.25rem;
  overflow: auto;
  height: 100%;
}

html, body {
  overflow: auto; 
}

body {
  background-image: linear-gradient(145deg, #222222 28%, #682820 53%, #D49E1C 81%, #FFCD1B 92%);
  background-repeat: no-repeat;
  background-size: cover;
  background-color: #2C2F33;
  display: flex;
  flex-direction: column;
  height: 100%;
}

label {
  cursor: pointer;
}

img {
  border: 0px;
}

a {
  color: #fff9;
  font-weight: bold;
  text-decoration: none;
}

a:hover {
  color: #ffd18c;
}

/* Selection DIV element */
.div_selection_scrollable {
  background-color: #fff9;
  color: #000000;
  padding: 3px;
  border: solid 1px #000000;
  overflow: auto;
  width: 98%;
  height: 230px;
}

/* Links in selection DIV element */
.div_selection_scrollable_link {
  text-decoration: none;
  color: #000000;
}

/* Active element in DIV element */
.div_selection_scrollable_active {
  background-color: #cccccc;
}

/* Inactive element in DIV element */
.div_selection_scrollable_inactive {
  /*background-color: #222222;*/
}

/* Top banner area */
#chatroom_top_banner {
  position: absolute;
  overflow: hidden;
  border: 0px;
  padding: 0px;
  margin: 0px;
  width: 100%;
}

/* Bottom banner area */
#chatroom_bottom_banner {
  position: absolute;
  overflow: hidden;
  border: 0px;
  padding: 0px;
  margin: 0px;
  width: 100%;
}

/* Color selection box */
#color_selection_box {
  position: absolute;
  top: 0px;
  left: 0px;
  width: 292px;
  height: 196px;
  background-color: #222222;
  
}

/* Smilie box */
#smilie_selection_box {
  position: absolute;
  top: 0px;
  left: 0px;
  border: solid 1px #999999;
  background-color: #f9f9ff;
  overflow: hidden;
  margin: 0px;
  padding: 0px;
}

/* Alert box */
#alertbox {
  position: absolute;
  top: 20vh !important;
    left: 45vw !important;
  border: solid 1px #999999;
  overflow: hidden;
  margin: 0px;
  padding: 0px;
  z-index: 9999;
  vertical-align: middle;
}
#alertbox .text {
  background-color: #f9f9ff;
  margin: 0px;
  padding: 10px;
  text-align: left;
  vertical-align: middle;
  font-size: 1rem;
}

/* Confirm box */
#confirmbox {
  position: absolute;
  top: 20vh !important;
    left: 45vw !important;
  border: solid 1px #999999;
  overflow: hidden;
  margin: 0px;
  padding: 0px;
  z-index: 9999;
  background-color: rgba(255, 165, 0, 0.3);
}
#confirmbox .text #confirmbox_text{
  color: white;
    background-color: rgba(255, 165, 0, 0.3);
    height: 50px;
  
  margin: 0px;
  padding: 10px;
  text-align: center;
  vertical-align: middle;
  font-size: 1rem;
}

/* Prompt box */
#promptbox {
  position: absolute;
  top: 0px;
  left: 0px;
  border: solid 1px #999999;
  overflow: hidden;
  margin: 0px;
  padding: 0px;
  z-index: 9999;
}
#promptbox .text {
  background-color: #f9f9ff;
  margin: 0px;
  padding: 10px;
  text-align: left;
  vertical-align: middle;
  font-size: 1rem;
}

/* Password field box */
#password_field_box {
  position: absolute;
  top: 0px;
  left: 0px;
  border: solid 1px #002d96;
  background-color: #222222;
  padding: 3px;
  text-align: center;
}

/* Online status selection box */
#online_status_selection_box {
  position: absolute;
  top: 0px;
  left: 0px;
  padding: 0px;
  margin: 0px;
}

/* Context menu table disabled row */
.context_menu_table_disabled_row {
  background-color: #ffffff;
  color: #afafaf;
  font-weight: normal;
  text-align: left;
  vertical-align: middle;
  margin: 0px;
  padding: 0px;
  cursor: default;
}

/* Nickname colorizer preview */
#nickname_preview {
  text-align: center;
  font-size: 1rem;
  font-weight: bold;
}

/* User options context menu */
#user_options_box {
  position: absolute;
  top: 0px;
  left: 0px;
  padding: 0px;
  margin: 0px;
}

.tbl {
  background-color: #f5b005c2;
  /*border: solid 1px #f5b005c2;*/
}


.tbl_menue {
  /*background-color: #f5b005c2;
  border: solid 1px #f5b005c2;*/
}

/* Table main header */
.tbl_header_main {
  /*background-image: url(./pic/table_main_header_1x25.gif);*/
  color: #f5b005c2;
  font-weight: bold;
  font-size: 0.75rem;
  text-align: left;
  margin: 0px;
  padding: 3px;
  vertical-align: middle;
  background-color: #2C2F33;
}
.tbl_header_main_link {
  color: #ffffff;
}

/* Table sub header */
.tbl_header_sub {
  /*background-image: url(./pic/table_sub_header_1x25.gif);*/
  color: #222222;
  font-weight: bold;
  font-size: 0.75rem;
  text-align: left;
  margin: 0px;
  padding: 3px;
  vertical-align: middle;
  background-color: #f5b005c2;
}
.tbl_header_sub_link {
  color: #002050;
  font-size: 0.75rem;
  font-weight: normal;
  text-decoration: underline;
}

/* Table row */
.tbl_row {
  background-color: #2C2F33;
  color: #fff9;
  font-weight: normal;
  font-size: 0.555rem;
  text-align: left;
  margin: 0px;
  padding: 3px;
  vertical-align: middle;
  /*background-image: url(./pic/tbl_row_398x1.gif);
  background-repeat: repeat-x;*/
}

.tbl_row_link {
  color: #fff9;
  font-size: 0.75rem;
  font-weight: normal;
  text-decoration: underline;
}

/* Status:Error text message */
.statustext_error {
  color: #dd0000;
}

/* Status:Success text message */
.statustext_success {
  color: #f5b005c2;
}

#progressBar {
  position: absolute;
  background-color:#222222;
  border: solid 1px #f5b005c2;
  font-size: 13px;
  padding-left: 30px;
  padding-right: 30px;
  padding-top: 15px;
  padding-bottom: 15px;
  z-index: 10000;
}

/* Page numbers area */
#page_numbers {
  font-weight: normal;
  font-size: 12px;
  width: 100%;
  text-align: right;
  padding: 2px;
}
#page_numbers a {
  text-decoration: underline;
  font-weight: normal;
}

/* Banner popup */
#banner_popup {
  position: absolute;
  overflow: hidden;
  border: solid 1px #000000;
  background-color: #ffffde;
  padding: 2px;
  margin: 0px;
  text-align: right;
}
#banner_popup_frame {
  position: absolute;
  overflow: hidden;
  border: solid 1px #000000;
  background-color: #ffffde;
  padding: 0px;
  margin: 0px;
  text-align: right;
  top: 22px;
  left: 8px;
}

/* Chat summary area at the login page */
#chat_summary {
  border: 0px;
  margin: 0px;
  padding: 0px;
  width: 100%;
  position: absolute;
}

/* Avatar image "onmouseover" thumb */
.avatar_image_hover_thumb {
  position: absolute;
  border: solid 1px #555555;
  cursor: pointer;
}

/* Buttons für Impressum Loginseite */
.myButton {
	-moz-box-shadow:inset 0px 1px 0px 0px #ffffff;
	-webkit-box-shadow:inset 0px 1px 0px 0px #ffffff;
	box-shadow:inset 0px 1px 0px 0px #ffffff;
	background:-webkit-gradient(linear, left top, left bottom, color-stop(0.05, #ffffff), color-stop(1, #dbdbdb));
	background:-moz-linear-gradient(top, #ffffff 5%, #dbdbdb 100%);
	background:-webkit-linear-gradient(top, #ffffff 5%, #dbdbdb 100%);
	background:-o-linear-gradient(top, #ffffff 5%, #dbdbdb 100%);
	background:-ms-linear-gradient(top, #ffffff 5%, #dbdbdb 100%);
	background:linear-gradient(to bottom, #ffffff 5%, #dbdbdb 100%);
	filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#dbdbdb',GradientType=0);
	background-color:#ffffff;
	-moz-border-radius:0px;
	-webkit-border-radius:0px;
	border-radius:0px;
	border:1px solid #ffe01d;
	display:inline-block;
	cursor:pointer;
	color:#000000;
	font-family:Arial;
	font-size:15px;
	font-weight:bold;
	padding:6px 24px;
	text-decoration:none;
	text-shadow:0px 1px 0px #ffffff;
}
.myButton:hover {
	background:-webkit-gradient(linear, left top, left bottom, color-stop(0.05, #dbdbdb), color-stop(1, #ffffff));
	background:-moz-linear-gradient(top, #dbdbdb 5%, #ffffff 100%);
	background:-webkit-linear-gradient(top, #dbdbdb 5%, #ffffff 100%);
	background:-o-linear-gradient(top, #dbdbdb 5%, #ffffff 100%);
	background:-ms-linear-gradient(top, #dbdbdb 5%, #ffffff 100%);
	background:linear-gradient(to bottom, #dbdbdb 5%, #ffffff 100%);
	filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#dbdbdb', endColorstr='#ffffff',GradientType=0);
	background-color:#dbdbdb;
}
.myButton:active {
	position:relative;
	top:1px;
}


.myButton2 {
	-moz-box-shadow:inset 0px 1px 0px 0px #fff6af;
	-webkit-box-shadow:inset 0px 1px 0px 0px #fff6af;
	box-shadow:inset 0px 1px 0px 0px #fff6af;
	background:-webkit-gradient(linear, left top, left bottom, color-stop(0.05, #ffec64), color-stop(1, #d6ab66));
	background:-moz-linear-gradient(top, #ffec64 5%, #d6ab66 100%);
	background:-webkit-linear-gradient(top, #ffec64 5%, #d6ab66 100%);
	background:-o-linear-gradient(top, #ffec64 5%, #d6ab66 100%);
	background:-ms-linear-gradient(top, #ffec64 5%, #d6ab66 100%);
	background:linear-gradient(to bottom, #ffec64 5%, #d6ab66 100%);
	filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffec64', endColorstr='#d6ab66',GradientType=0);
	background-color:#ffec64;
	-moz-border-radius:0px;
	-webkit-border-radius:0px;
	border-radius:0px;
	border:1px solid #fff;
	display:inline-block;
	cursor:pointer;
	color:#333333;
	font-family:Arial;
	font-size:15px;
	font-weight:bold;
	padding:6px 24px;
	text-decoration:none;
	text-shadow:0px 1px 0px #ffee66;
}
.myButton2:hover {
	background:-webkit-gradient(linear, left top, left bottom, color-stop(0.05, #d6ab66), color-stop(1, #ffec64));
	background:-moz-linear-gradient(top, #d6ab66 5%, #ffec64 100%);
	background:-webkit-linear-gradient(top, #d6ab66 5%, #ffec64 100%);
	background:-o-linear-gradient(top, #d6ab66 5%, #ffec64 100%);
	background:-ms-linear-gradient(top, #d6ab66 5%, #ffec64 100%);
	background:linear-gradient(to bottom, #d6ab66 5%, #ffec64 100%);
	filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#d6ab66', endColorstr='#ffec64',GradientType=0);
	background-color:#d6ab66;
}
.myButton2:active {
	position:relative;
	top:1px;
}

/*LOGIN PAGE*/

.login_page {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  overflow: auto;
}

/*CHAT ROOM*/

.chatroom-container {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

.chatroom-name {
  padding: 5px 0 0 0;
  font-size: 1rem;
  text-align: center;
  color: #d9d9d9;
  box-shadow: 0 1px 2px rgba(85, 85, 85, 0.5);
  padding-bottom: 10px
}

.chatroom-container {
  display: flex;
  flex-direction: row;
  overflow: auto;
  height: 100%;
}

#chatroom_userlist {
  flex-shrink: 0;
  width: 23%;
  min-width: 251px;
  max-width: 301px;
  display: flex;
  flex-direction: column;
  overflow: auto;
  background-color:  rgba(51, 51, 51, 0.9) !important;
  border-right: 1px solid rgba(85, 85, 85, 0.5);
}

#chatroom_userlist_contents {
  flex-grow: 1;
}

#chatroom_userlist_list {
  font-size: 13px;
  padding: 0px;
  padding-right: 4px;
  text-align: left;
  font-weight: normal;
  margin: 5px;
}

#userlist_table_body {
  /* font-size: 13px;
  padding: 0px;
  padding-right: 4px;
  text-align: left;
  font-weight: normal;
  margin: 5px; */
}

#chatroom_userlist_list a {
  text-decoration: none;
  font-weight: normal;
}

.chatroom-messages-container {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  overflow: auto;
  max-height: 100svh;
  overflow-y: auto; /* Ermöglicht vertikales Scrollen */

}

.banner {
  flex-shrink: 0;
}

#chatroom_messages {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  overflow: auto;
  background-size: cover;
  padding: 0px;
  margin: 0px;
}

#chatroom_messages {
  background-color: rgba(51, 51, 51, 0.75) !important;
}

#chatroom_controls_contents {
  display: flex;
  flex-direction: column;
  gap: 5px;
  background-color: rgba(51, 51, 51, 1);
  padding: 0 5px;
}

#chatroom_messages_contents {
  flex-grow: 1;
  overflow-y: auto;
  padding: 5px 10px 0 10px;
  border-bottom: 1px solid #555;
}

#chatroom_controls {
  flex-shrink: 0;
}

#online_status_selection_box,
#exit_selection_box,
#help_box {
  position: fixed;
  z-index: 10;
}

/*TEXTAREA Styles*/
.input_textarea {
  display: flex;
  gap: 5px;
  border: 1px solid #555;
}

#main_input_textarea {
  color: #fff !important;
  all: unset;
  resize: none;
  box-sizing: border-box;
  padding: 5px;
  background-color: #333;
  font-family: "Trebuchet MS", Verdana, Arial, Helvetica, sans-serif;
  font-size: 1rem;
  width: 100% !important;
}

/* General button styles */
.row-btn-container {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  padding-bottom: 5px;
}

.button-group, .select-group {
  display: flex;
  gap: 10px;
}

.button {
  padding: 10px 20px;
  background-color: #f5b105;
  border: none;
  color: #fff;
  font-family: "Trebuchet MS", Verdana, Arial, Helvetica, sans-serif;
  font-size: 0.775rem;
  cursor: pointer;
  margin-top: 5px;
  border-radius: 5px;
}

.icon-button {
  width: 32px;
  height: 40px;
  background-color: #f5b105;
  background-repeat: no-repeat;
  background-position: center center;
  border-radius: 5px;
  transition: background-color 0.3s ease, transform 0.2s ease;
}

.transparent-button {
  padding: 10px 10px;
  width: 32px;
  height: 40px;
  background-color: transparent;
  background-repeat: no-repeat;
  background-position: center center;
  border-radius: 5px;
  border: none;
  box-shadow: none;
  cursor: pointer;
}

.userlist-buttons {
  justify-content: center;
}

.userlist-button {
  padding: 10px 20px;
  background-color: rgba(78, 77, 75, 0.5);
  width: 32px;
  height: 40px;
  background-repeat: no-repeat;
  background-position: center center;
  border-radius: 5px;
  cursor: pointer;
}

.userlist-entry{
	font-size: 15px !important;
}

.userlist-button:hover {
  background-color: #f5b105;
}

.button:hover, .icon-button:hover {
  background-color: #e59400;
}

.select {
  padding: 10px;
  background-color: #333;
  border: 1px solid #555;
  color: #fff;
  font-family: "Trebuchet MS", Verdana, Arial, Helvetica, sans-serif;
  font-size: 0.775rem;
  border-radius: 5px;
  margin-top: 5px;
}

.button:active, .icon-button:active {
  transform: scale(0.95);
}

/* Message send button styles */
#mainSendMessageButton {
  padding: 10px 15px;
  background-color: transparent;
  border: none;
  font-family: "Trebuchet MS", Verdana, Arial, Helvetica, sans-serif;
  font-size: 1.125rem;
  cursor: pointer;
}

.select::-webkit-scrollbar {
  width: 10px;
}

.select::-webkit-scrollbar-track {
  background: #afaeae;
  border-radius: 5px; 
}

.select::-webkit-scrollbar-thumb {
  background: #888;
  border-radius: 5px;
}

.select::-webkit-scrollbar-thumb:hover {
  background: #686767;
}

.controls-row {
  box-shadow: 0 -1px 2px rgba(85, 85, 85, 0.5);
}



/*ONLINE Status Box*/
#online_status_selection_box {
  position: absolute;
  top: 0;
  left: 0;
  padding: 0;
  margin: 0;
  width: 300px;
  background-color: #2C2F33;
  border: 1px solid #555;
  z-index: 10;
}

/*EXIT box & HELP box*/
#exit_selection_box, #help_box {
  position: absolute;
  top: 0;
  left: 0;
  padding: 0;
  margin: 0;
  width: 250px;
  background-color: #2C2F33;
  border: 1px solid #555;
  z-index: 10;
}

.context_menu_header {
  background-color: #682820;
  color: #ffffff;
  font-size: 18px;
  font-weight: bold;
  padding: 10px;
  text-align: center;
}

.context_menu_list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.context_menu_item {
  display: flex;
  align-items: center;
  padding: 10px;
  background-color: #2C2F33;
  color: #ffffff;
  cursor: pointer;
  font-size: 16px;
  gap: 10px;
}

.context_menu_item span {
  flex-grow: 1;
}

.context_menu_item:hover {
  background-color: #444;
}

.context_menu_item_hover {
  background-color: #f5ba25;
}

.context_menu_table_header {
  background-color: #682820;
  color: #ffffff;
  font-size: 18px;
  font-weight: bold;
  padding: 10px;
  text-align: center;
}

.context_menu_table {
  list-style: none;
  padding: 0;
  margin: 0;
}

.context_menu_table_row {
  display: flex;
  align-items: center;
  padding: 10px;
  background-color: #2C2F33;
  color: #ffffff;
  cursor: pointer;
  font-size: 16px;
  gap: 10px;
}

.context_menu_table_row:hover {
  background-color: #444;
}

.context_menu_table_row:hover {
  background-color: #444;
}

.context_menu_table_hrow {
  background-color: #f5ba25;
}

/*Form buttons styles*/
.form-buttons button {
  background-color: #f5b105;
  background-repeat: no-repeat;
  background-position: center center;
  border-radius: 5px;
  transition: background-color 0.3s ease, transform 0.2s ease;
  color: #ffffff;
  padding: 10px 20px;
  border: none;
  cursor: pointer;
}

.form-buttons button:hover {
  background-color: #e59400;
}

.div-buttons button {
  background-color: #682820;
  background-repeat: no-repeat;
  background-position: center center;
  border-radius: 5px;
  transition: background-color 0.3s ease, transform 0.2s ease;
  color: #ffffff;
  padding: 10px 20px;
  border: none;
  cursor: pointer;
}

.memberlist {
  width: 100%;
}

.responsive-table {
  width: 100%;
  border-collapse: collapse;
}

#memberlist_search_button {
  background-color: #f5b105;
  background-repeat: no-repeat;
  background-position: center center;
  border-radius: 5px;
  transition: background-color 0.3s ease, transform 0.2s ease;
  color: #ffffff;
  border: none;
  cursor: pointer;
  padding: 6px 5px;
}

#memberlist_search_button:hover {
  background-color: #e59400;
}

.memberlist-input-container input#nickname_search {
  border-radius: 5px;
  padding: 3px;
}

.memberlist-input-container {
  width: 100%;
}

.profile-main input{
  width: 100%;
}

.profile-main textarea {
  width: 100%;
}

.profile-main select {
  width: 100%;
}

#toggleUserlistButton {
  display: none;
}
.banner {
  display: none;
}
.player-container {
  display: block;
}


@media screen and (max-width: 768px) {
  .row-btn-container {
    flex-wrap: wrap;
    gap: 5px;
  }

  .chatroom-name {
    font-size: 0.875rem;
  }

  .icon-button {
    height: 28px;
  }

  .button, .icon-button, .transparent-button, .userlist-button, .select {
    padding: 5px 10px;
    font-size: 0.75rem;
  }

  .button-group, .select-group {
    display: flex;
    width: 100%;
    justify-content: center;
  }

  #mainSendMessageButton {
    font-size: 1rem;
  }

  .chatroom-container {
    display: flex;
    flex-direction: column;
    height: 100vh;
    width: 100vw;
  }

  #chatroom_userlist {
    display: none;
    flex: 0 0 auto;
    width: 100% !important;
    min-width: 100%;
    max-width: 100%;
  }

  #toggleUserlistButton {
    display: block;
  }

  .player-container {
    display: none;
  }
  
  .chatroom-messages-container {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    overflow: hidden;
  }
  
  #chatroom_messages {
    flex: 1 1 auto;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }
  
  #chatroom_controls {
    flex: 0 0 auto;
    width: 100%;
  }
  
  .textarea-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }

  .input_textarea {
    width: 100%;
  }
  
  .banner {
    flex: 0 0 auto;
    width: 100%;
    background-color: rgba(51, 51, 51, 0.85) !important;
  }
  
  .top-banner {
    height: 50px;
    display: block;
  }
  
  .bottom-banner {
    height: 50px;
  }

  #exit_selection_box, #help_box {
    left: 75px !important;
  }

  #alertbox {
    width: 90%;
  }

  .tbl_header_main, .tbl_header_sub {
    font-size: 0.588rem;
  }

  .tbl_header_sub_link, .tbl_row, .tbl_row_link, .tbl_row, td a, td span {
    font-size: 0.525rem;
  }

  .memberlist-input-container button {
    font-size: 0.525rem;
  }

  .filter-container {
    display: flex;
    flex-direction: column;
  }

  .memberlist-input-container, .filter-container {
    padding: 0 5px;
  }

  .header-filter {
    display: flex;
    flex-direction: column;
  }

  .profile-main select, button {
    font-size: 0.525rem;
  }

  .profile-main button {
    padding: 5px 10px;
  }

  #color_selection_box {
    position: absolute;
    top: 0px;
    left: 0px;
    width: 292px;
    height: 196px;
    background-color: #222222;
    left: 69px !important;
  }
}
#chatroom_userlist_room_selection{
  width:80% !important;
  }
  