/*@import url("widgets.css");*/

html {
  direction: __MSG_@@bidi_dir__;
}

body {
  padding: 10px;
  font-family: "Roboto", "Arial", sans-serif !important;
  background-color: #BBDEFB;
  background-repeat: repeat;
  background-position: left top;
  font-size: 90%;
  cursor: default;
  min-width: 400px;
}

h1 {
  text-align: center;
  font-size: 30px;
}

h2 {
  font-size: 20px;
}

#languages_container {
  width: 300px;
  height: 250px;
  border: 1px solid #ccc;
  background-color: #E3F2FD;
  overflow: auto;
}

#languages {
  list-style: none;
  margin: 0;
  padding: 0;
}

#languages li {
  padding: 15px;
  border-bottom: 1px dashed #ddd;
  background-color: #EEF7FD;
  cursor: move;
  -webkit-user-select: none;
}

#languages li.sortable-ghost {
  background-color: #E3F2FD;
}

#languages li .delete {
  font-size: 14px;
  float: __MSG_@@bidi_end_edge__;
  cursor: pointer;
  color: red;
}

#languages_footer {
  width: 300px;
  height: 35px;
  background-color: #fff;
  border: 1px solid #ccc;
  border-top: 0;
}

button,
input,
select,
option {
  font-size: 13px !important;
}

#languages_add {
  margin-__MSG_@@bidi_start_edge__: 4px;
  margin-top: 4px;
}

#save {
  display: block;
  margin: 18px auto;
}

/* Dialog */
dialog#languages_add_dialog {
  position: fixed;
  top: 50%;
  left: 50%;
  margin-left: -216px;
  margin-top: -91px;
  height: 150px;
  width: 400px;
  border: 1px solid rgba(0, 0, 0, 0.3);
  border-radius: 6px;
  box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);
}

dialog h3 {
  margin-bottom: 10px;
}

dialog #language_label {
  font-size: 12px;
}

dialog select {
  width: 100%;
}

dialog#languages_add_dialog .action_buttons {
  margin-top: 10px;
  float: __MSG_@@bidi_end_edge__;
}

dialog::backdrop {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.5);
}

/* Credits */
#credits_container {
  position: absolute;
  top: 0px;
  __MSG_@@bidi_end_edge__: 50px;
  background: rgb(195, 235, 204);
  border: solid 1px rgb(139, 139, 139);
  border-top: 0;
  border-radius: 0px 0px 5px 5px;
}

#credits_container a {
  color: green !important;
  margin: 0 5px;
}

dialog#credits_dialog {
  position: fixed;
  top: 50%;
  left: 50%;
  margin-left: -216px;
  margin-top: -231px;
  padding: 0;
  height: 430px;
  width: 400px;
  border: 1px solid rgba(0, 0, 0, 0.3);
  border-radius: 6px;
  box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);
}

dialog#credits_dialog[open] {
  display: flex;
  flex-direction: column;
}

dialog#credits_dialog .scrollable {
  padding: 1em;
  overflow-y: auto;
}

dialog#credits_dialog .content_area h4 {
  margin-bottom: 0px;
}

dialog#credits_dialog .entry {
  position: relative;
}

dialog#credits_dialog .entry a.homepage {
  position: absolute;
  __MSG_@@bidi_end_edge__: 16px;
  font-size: 14px;
}

dialog#credits_dialog p,
dialog#credits_dialog span {
  font-size: 14px;
}

dialog#credits_dialog p.author {
  margin-top: 7px;
}

dialog#credits_dialog #translators .name {
  font-weight: bold;
}

dialog#credits_dialog .action_buttons {
  border-top: 1px solid #ccc;
  padding: 1em;
  text-align: __MSG_@@bidi_end_edge__;
}

dialog#credits_dialog .createdby {
  font-style: italic;
}

#otheroptions p {
  margin-top: 0;
  margin-bottom: 0;
}
