/* Settings for OS light/dark mode */
/* Light Theme */
@media (prefers-color-scheme: light) {
  :root {
    --color-bg: #ffffff;
    --color-header-bg: #00072f;
    --color-header: #ffffff;
    --color-header-br: #bba96c;
    --color-header-bg-hv: #4f575f;
    --color-header-hv: #ffffff;
    --color-header-dropdown-link: #bba96c;
    --color-header-dropdown-link-hv: #a4a4b4;
    --color-slider-bg: #ccc;
    --color-slider-bg-on: #00072f;
    --color: #000;
    --color-aside-bg: #00072f;
    --color-aside-br: #606d79;
    --color-aside: #ffffff;
    --color-aside-hv: #ffffff;
    --color-aside-bg-hv: #4f575f;
    --color-slider: #ffffff;
    --color-chat-list-item-bg:#fff;
    --color-chat-list-item: #000;
    --color-chat-list-item-br: #dee2e6;
    --color-chat-list-item-bg-hv: #f8f9fa;
    --color-chat-list-item-hv: #000;
    --color-chatbox-bg: #f5f5f5;
    --color-chatbox-br: #d7d7dd;
    --color-chatbox-header-bg:#c4c4cc;
    --color-chatbox-header: #00072f;
    --color-message-bg: #ffffff;
    --color-message: #333333;
    --color-message-placeholder: #333333;
    --color-assistant-message-bg: #fff;
    --color-assistant-message:#333333;
    --color-user-message-bg:#c4c4cc;
    --color-user-message:#333333;
    --color-btn-bg: #00072f;
    --color-btn-br: #00072f;
    --color-btn: #ffffff;
    --color-btn-bg-hv: #bba96c;
    --color-btn-br-hv: #bba96c;
    --color-btn-hv: #ffffff;
    --color-link: #00072f;
    --color-link-hv: #bba96c;
    --color-cookie-con-bg: white;
    --color-cookie-con-br: #6d6d6d;
    --color-cookie-opt-bg: #f7f7f7;
    --color-cookie-opt: #555;
    --color-cookie-spec-table-bg: #fff;
    --color-cookie-spec-table-br: #ccc;
    --color-cookie-spec-table: #000;
    --color-cookie-spec-table-dropdown-hv: #808080;
    --color-btn-del-bg: #e61919;
    --color-btn-del: #fff;
    --color-btn-del-bg-hv: ##f8f9fa;
    --color-btn-del-hv: #e61919;

    --color-faq-section-bg: #f4f4f4;
    --color-dots: #000;

    --img-dropdown-arrow-down: url("/images/arrow_down_white.png");
    --img-dropdown-arrow-up: url("/images/arrow_up_white.png");
    --img-dropdown-arrow-down-hv: url("/images/arrow_down_white.png");
    --img-dropdown-arrow-up-hv: url("/images/arrow_up_white.png");
  }
}

/* Dark Theme */
@media (prefers-color-scheme: dark) {
  :root {
    --color-bg: #00072f;
    --color: #ffffff;
    --color-header-bg: #121212;
    --color-header: #fff;
    --color-header-br: #bba96c;
    --color-header-bg-hv: #6d6d6d;
    --color-header-hv: #ffffff;
    --color-header-dropdown-link: #bba96c;
    --color-header-dropdown-link-hv: #a4a4b4;
    --color-aside-bg: #222222;
    --color-aside-br: #606d79;
    --color-aside: #fff;
    --color-aside-hv: #ffffff;
    --color-aside-bg-hv: #6d6d6d;
    --color-slider-bg: #00072f;
    --color-slider: #ffffff;
    --color-chat-list-item-bg:#121212;
    --color-chat-list-item: #fff;
    --color-chat-list-item-br: #3b3c3e;
    --color-chat-list-item-bg-hv: #222222;
    --color-chat-list-item-hv: #fff;
    --color-chatbox-bg: #222222;
    --color-chatbox-br: #3b3c3e;
    --color-chatbox-header-bg: #808080;
    --color-chatbox-header: #fff;
    --color-message-bg: #121212;
    --color-message: #c4c4cc;
    --color-message-placeholder: #c4c4cc;
    --color-assistant-message-bg: #121212;
    --color-assistant-message:#c4c4cc;
    --color-user-message-bg:#333333;
    --color-user-message:#ffffff;
    --color-btn-bg: #bba96c;
    --color-btn-br: #bba96c;
    --color-btn: #000;
    --color-btn-bg-hv: #a4a4b4;
    --color-btn-br-hv: #a4a4b4;
    --color-btn-hv: #ffffff;
    --color-link: #bba96c;
    --color-link-hv: #a4a4b4;
    --color-cookie-con-bg: #00072f;
    --color-cookie-con-br: #333333;
    --color-cookie-opt-bg: #808080;
    --color-cookie-opt: #fff;
    --color-cookie-spec-table-bg: #121212;
    --color-cookie-spec-table-br: #808080;
    --color-cookie-spec-table: #fff;
    --color-cookie-spec-table-ddown-hv: #333333;
    --color-btn-del-bg: #e61919;
    --color-btn-del: #fff;
    --color-btn-del-bg-hv: #222222;
    --color-btn-del-hv: #e61919;

    --color-faq-section-bg: #333333;
    --color-dots: #a4a4b4;

    --img-dropdown-arrow-down: url("/images/arrow_down_white.png");
    --img-dropdown-arrow-up: url("/images/arrow_up_white.png");
    --img-dropdown-arrow-down-hv: url("/images/arrow_down_white.png");
    --img-dropdown-arrow-up-hv: url("/images/arrow_up_white.png");
  }
}

.welcome-img {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding-left: 5px;
  width: 100%;
}

.welcome-line {
  margin-top: -50px;
}

.welcome-txt {
  position: relative;
  top: 60px;
  font-size:1.5rem;
}

.big-friendly-button {
  padding: 15px;
  margin: 5px;
  font-size: 2em;
}

.dark-light {
  background-color: #ffff;
  padding: 20px;
}

.faq-section {
  background-color: var(--color-faq-section-bg);
  display:block;
  position: relative;
  left:0;
  right:0;
  padding-top: 30px;
  padding-bottom: 20px;
  margin-top: 20px;
}

.faq-question {
  display: block;
  background-color: var(--color-faq-section-bg);
  width: 100%;
  padding: 20px;
  border-top: 1px solid #ccc;
  text-decoration: none;
  font-size: 20px;
}

.failing-bot {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

a {
  color: var(--color-link);
}

a:hover {
  color: var(--color-link-hv);
}

body {
    background-color: var(--color-bg);
    font-family: 'Roboto';
    display: flex;
    flex-direction: column;
    justify-content: center;
    color: var(--color);
    height:100%;
}

aside {
  position: absolute;
  left:0;
  top: 50px;
  bottom: 0;
  width: 150px;
  background-color: var(--color-aside-bg);
  color: var(--color-aside);
  display: flex;
  flex-direction: column;
  border-right: 1px solid var(--color-aside-br);
}

aside > a {
  text-align: center;
  text-decoration: none;
  padding: 10px;
  color: var(--color-aside);
}

aside > a:hover {
  color: var(--color-aside-hv);
  background-color: var(--color-aside-bg-hv);
}

.left {
  float: left;
}

.right {
  float: right;
}

.text-center {
  text-align: center;
  padding: 20px;
  padding-top: 0;
}

.inline-flex, .inline-flex>form {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding-left: 5px;
}

.inline-flex ul > li {
  margin-bottom: 20px;
}

.center-flex {
  justify-content:center;
  align-items: center;
}

.full-line {
  width: 100%;
}

header .left {
  display: flex;
  height: 100%;
  align-items: center;
  font-size: 20px;
}

header .left > a {
  text-decoration: none;
  color: var(--color-header);
  height: 100%;
  padding-left: 20px;
  padding-right: 20px;
  display: flex;
  align-items: center;
}

header .left > a:hover, header .right > label:hover {
  background-color: var(--color-header-bg-hv);
}

.home-button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 150px;
}

header .right {
  display: flex;
  height: 100%;
  align-items: center;
}

header .right > label {
  width: 100%;
  height: 100%;
  min-width: 110px;
  padding-left: 20px;
  padding-right: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0;
}

header {
    width: 100%;
    height: 50px;
    background-color: var(--color-header-bg);
    color: var(--color-header);
    display: inline-block;
    border-bottom: 1px solid var(--color-header-br);
}

header > .dropdown-content > a {
  color: var(--color-header);
}

.section-short {
  left: 150px;
}

section {
  position: absolute;
  display: grid;
  top: 50px;
  bottom: 0;
  right: 0;
  left:0;
  height: calc(100% - 50px);
  margin: 0;
  overflow: auto;
  background-color: var(--color-bg);
}

footer {
  display: flex;
  flex-direction: row;
  width: 100%;
  height: 100%;
  justify-content: center;
  padding: 10px;
  color: var(--color-link);
  position: relative;
}

footer a {
  padding-left: 5px;
  padding-right: 5px;
}

.cookie-container {
  position: fixed;
  display: none;
  justify-content: center;
  align-items: flex-start;
  width: 100%;
  height: 100%;
  z-index: 1000000;
  top: 0;
  left:0;
  overflow: hidden;
}

.cookie-preference {
  display: flex;
  flex-direction: column;
  top: 0;
  height: 100%;
  max-width: 550px;
  max-height: 330px;
  border-radius: 30px;
  border: 1px solid var(--color-cookie-con-br);
  background-color: var(--color-cookie-con-bg);
}

.cookie-textbox {
  display: block;
  font-size: 14px;
}

.cookie-head {
  width: calc(100% - 20px);
  height: 34px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  margin: 10px;
  margin-bottom: 0px;
}

.cookie-body {
  overflow-y: auto;
  padding: 10px;
}

.cookie-head > h4 {
  margin: 0;
}

.cookie-logo {
  width: 34px;
  height: 34px;
}

.cookie-options {
  display:flex;
  justify-content: center;
  margin-top: 15px;
  margin-bottom: 15px;
}

.cookie-option-spec {
  width: 100%;
  display: inline-flex;
  flex-direction: row;
  justify-content: center;
  margin-top: 15px;
  margin-bottom: 15px;
}

.cookie-options > label {
  margin-left: 10px;
  margin-right: 10px;
}

.cookie-options > label > input {
  margin-left: 5px;
  margin-right: 5px;
}

.cookie-option-left {
  width: 100%;
}

.cookie-option-right {
  float: right;
  display:flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
}

.cookie-option-container {
  background-color: var(--color-cookie-opt-bg);
  font-size: 12px;
  padding: 10px;
  margin-top: 10px;
  color: var(--color-cookie-opt);
}

.btn-cookie {
  width: 100%;
  margin-top: 5px;
  margin-bottom: 5px;
}

.btn-cookie-small {
  width: 100%;
  max-width: 150px;
  font-size: 14px;
  margin-top: 5px;
  margin-bottom: 5px;
  margin-right: 5px;
}

.cookie-footer {
  position: relative;
  bottom: 0;
  display: flex;
  justify-content: center;
  font-size: 12px;
  margin: 10px;
  margin-top: 0px;
  color: var(--color-link);
}

.cookie-footer a {
  padding-left: 5px;
  padding-right: 5px;
}

.tooltip_ {
  position: relative;
  display: inline-flex;
}

.dropdown-content .tooltip_ .tooltip-iptext {
  top: 3px;
  left: 50%;
}

.dropdown-content .tooltip_ .tooltip-iptext::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 100%;
  margin-top: -5px;
  border-width: 5px;
  border-style: solid;
  border-color: transparent var(--color-header-bg-hv) transparent transparent;
}

.tooltip_ .tooltip-iptext {
  visibility: hidden;
  background-color: var(--color-header-bg-hv);
  color: var(--color-aside);
  opacity: 0;
  transition: opacity 2s;
  position: absolute;
  text-align: center;
  border-radius: 6px;
  padding: 5px;
  left: 105%;
  z-index: 10000;
  font-size: 12px;
}

.tooltip_ .tooltip-iptext::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 100%;
  margin-top: -5px;
  border-width: 5px;
  border-style: solid;
  border-color: transparent var(--color-header-bg-hv) transparent transparent;
}

.tooltip_:hover .tooltip-iptext {
  visibility: visible;
  opacity: 1;
}

/*dropdown*/
.hidden{
  display: none
}

.dropdown-header {
  cursor: pointer;
  margin: 5px;
  height: auto;
  width: 100%;
  text-align: center;
  font-size: 1.2em;
  font-weight: bold;
}

.ddarow {
  width: 18px;
  height: 18px;
  margin-left: 3px;
  background-image: var(--img-dropdown-arrow-down);
  background-repeat: no-repeat;
  background-size: contain;
}

#dropdown-contact + .dropdown-header:hover .ddarow {
  background-image: var(--img-dropdown-arrow-down-hv);
}

#dropdown-contact:checked + .dropdown-header .ddarow {
  background-image: var(--img-dropdown-arrow-up);
}

#dropdown-contact:checked + .dropdown-header:hover .ddarow {
  background-image: var(--img-dropdown-arrow-up-hv);
}

#dropdown-contact + .dropdown-header:hover {
  color: var(--color-header-hv);
}

.dropdown-header:hover {
  color: var(--color-cookie-spec-table-ddown-hv);
}

.dropdown-content#contact-data {
  position: absolute;
  top: 50px;
  right: 0;
  z-index: 100001;
  padding: 10px;
  color: var(--color-header);
  background-color: var(--color-header-bg);
  border: 1px solid var(--color-aside-br);
  grid-template-areas:  "name namecontent"
                        "address addresscontent"
                        "email emailcontent"
                        "phone phonecontent";
  gap: 10px;
}

.dropdown-content#contact-data a {
  color: var(--color-header-dropdown-link);
}

.dropdown-content#contact-data a:hover {
  color: var(--color-header-dropdown-link-hv);
}

.hidden + .dropdown-header + .dropdown-content,
.hidden + .dropdown-header + .dropdown-content#contact-data,
.hidden + .dropdown-header + .dropdown-content#contact-data
 {
  display: none;
}

.hidden:checked + .dropdown-header + .dropdown-content {
  display: block;
}

.hidden:checked + .dropdown-header + .dropdown-content#contact-data {
  display: grid;
}

.dropdown-content table {
  table-layout: fixed;
  background-color: var(--color-cookie-spec-table-bg);
  color: var(--color-cookie-spec-table);
  width: 100%;
}

.dropdown-content td {
  border: 1px solid var(--color-cookie-spec-table-br);
  text-wrap: wrap;
  padding-left: 5px;
}

.raw-list {
  list-style-type: none;
}

.alpha-list {
  list-style-type: lower-alpha;
}

.roman-list {
  list-style-type: upper-roman;
}

.subtxt-list > li {
  margin-bottom: 15px;
}

.con-container {
  padding: 3rem;
  width: 100%;
}

#chatbot {
  background-color: var(--color-chatbox-bg);
  border: 1px solid var(--color-chatbox-br);
  box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.1);
  border-radius: 4px;
}

/* Not found */
#header {
  background-color: darkslategrey;
  color: #ffffff;
  padding: 20px;
  font-size: 1em;
  font-weight: bold;
}

/* Not found */
.message-container {
  background: #ffffff;
  width: 100%;
  display: flex;
  align-items: center;
}

.btn {
  background-color: var(--color-btn-bg);
  border-color: var(--color-btn-br);
  color: var(--color-btn);
}

.btn:hover {
  background-color: var(--color-btn-bg-hv);
  border-color: var(--color-btn-br-hv);
  color: var(--color-btn-hv);
}

.conversation {
  height: 460px;
  padding: 20px;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
}

.card-body {
  padding: 0;
}

@keyframes message-fade-in {
  from {
    opacity: 0;
    transform: translateY(-20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.logo-subheader {
  padding-top: 35px;
  margin-left: 10px;
  color: var(--color-chatbox-header);
}

.chat-header {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  height: 65px;
  padding-top: 10px;
  padding-bottom: 8px;
  margin-bottom: -3px;
  background-color: var(--color-chatbox-header-bg);
  border-radius: 15px 15px 0 0;
}

.list-group-item {
  background-color: var(--color-chat-list-item-bg);
  border-color: var(--color-chat-list-item-br);
  color: var(--color-chat-list-item);
}

.list-group-item:hover {
  background-color: var(--color-chat-list-item-bg-hv);
  color: var(--color-chat-list-item-hv);
}

.alert-container {
  position: absolute;
  width: 100%;
  z-index: 100000;
}

.alert {
  display: grid;
  grid-template-areas: "alert close";
  grid-template-columns: auto 20px;
  animation:fade-out 10s;
  transition: visibility;
  visibility: hidden;
}

.alert-close > label {
  cursor: pointer;
}

.alert:has( > .alert-close > label > .hidden:checked) {
  animation: fade-out 0s;
}

.alert-message {
  grid-area: alert;
  display: flex;
  justify-content: center;
  align-items: center;
}

.alert-close {
  grid-area: close;
  cursor: pointer;
}

@keyframes fade-out {
  0%{
    opacity: 1;
  }
  50%{
    visibility: visible;
    opacity: 1;
  }
	100%{
    visibility: hidden;
    opacity:0
  }
}

@media only screen and (max-width: 558px) {
  .welcome-line {
    display:flex;
    flex-direction: column;
    margin-top: 0px;
  }

  .welcome-txt {
    position: auto;
    top: 0;
    font-size:1.5rem;
  }

  header {
    height: 100px;
    flex-direction: column;
  }

  header .left {
    min-height: 50px;
    flex-flow: row wrap;

  }

  header .left > a {
    height: 50px;
  }

  header .right {
    height: 50px;
    position: absolute;
    top: 0px;
    right: 0;
  }

  .home-button {
    width: 104px;
  }

  section {
    top: 100px;
    height: calc(100% - 100px);
  }

  .section-short {
    top: 144px;
    height: calc(100% - 144px);
    padding: 0;
    left:0;
  }

  aside {
    left:0;
    top: 100px;
    right: 0;
    width: 100%;
    height: 44px;
    flex-direction: row;
  }

  .section-short {
    top: 144px;
    height: calc(100% - 144px);
    padding: 0;
    left:0;
  }
}

@media only screen and (min-width: 559px ) and (max-width: 767px) {
  aside {
    left:0;
    top: 50px;
    right: 0;
    width: 100%;
    height: 44px;
    flex-direction: row;
  }

  .section-short {
    top: 94px;
    height: calc(100% - 94px);
    padding: 0;
    left:0;
  }
}

/* Bootstrap breakpoints: <768px, >=768px, >=992px, >=1200px */
@media only screen and (max-width: 767px) {
  .welcome-line {
    padding-top: 20px;
  }

  .chat-header {
    flex-direction: column;
  }

  .logo-subheader {
    display: none;
  }

  .inline-flex {
    flex-direction: column;
  }

  .inline-flex > img {
    width: 80%;
    height: auto;
  }



  .list-group-item > .inline-flex {
    flex-direction: row;
  }

  .con-container {
    position: relative;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    padding: 1rem;
    height: 100%;
    width:100%;
  }

  .con-container:has(#chat) {
    padding: 0;
  }

  .card {
    position: relative;
    bottom: 0;
    height:100%;
  }

  #chat {
    position: relative;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    height: calc(100% - 62px);
  }

  .conversation {
    height: 100%;
  }

  .home-button {
    width: 104px;
  }

  header .left > a {
    padding-left: 10%;
    padding-right: 10%;
  }

  header .right > label {
    padding-left: 10%;
    padding-right: 10%;
    width: 110px;
  }

  .section-short > footer {
    display: none;
  }

  #return-chat-archive {
    display: none;
  }
}

@media (min-width: 768px) {
  .con-container {
    max-width: 720px;
    margin-right: auto;
    margin-left: auto;
  }
}

@media only screen and (max-width: 991px) and (max-height: 479px) {
  .section-short > footer {
    display: none;
  }

  #return-chat-archive {
    display: none;
  }

  aside {
    left:0;
    top: 50px;
    right: 0;
    width: 100%;
    height: 44px;
    flex-direction: row;
  }

  .section-short {
    top: 94px;
    height: calc(100% - 94px);
    padding: 0;
    left: 0;
  }

  section {
    padding: 20px;
  }

  .con-container {
    position: relative;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    margin: 0;
    height: 100%;
    width: 100%;
  }

  .card {
    position: relative;
    bottom: 0;
    height:100%;
  }

  #chat {
    position: relative;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    height: calc(100% - 62px);
  }

  .conversation {
    height: 100%;
  }
}

@media (min-width: 992px) {
  .con-container {
    max-width: 960px;
    margin-right: auto;
    margin-left: auto;
  }
}

.assistant-message {
  background-color: var(--color-assistant-message-bg);
  color: var(--color-assistant-message);
  margin-right: auto;
}

.user-message {
  background-color: var(--color-user-message-bg);
  color: var(--color-user-message);
  margin-left: auto;
}

.chatbot-text-system {
  width: calc(100% - 50px);
  font-size: 0.9em;
  padding: 15px;
  border-radius: 5px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

#input-form {
  display: flex;
  align-items: center;
  border-top: 1px solid var(--color-chatbox-br);
}

#input-field {
  flex: 1;
  height: 60px;
  border: 1px solid var(--color-chatbox-br);
  border-radius: 4px;
  padding: 0 10px;
  font-size: 14px;
  transition: border-color 0.3s;
  background: var(--color-message-bg);
  color: var(--color-message);
  border: none;
}

#input-field::placeholder {
  color: var(--color-message-placeholder);
}

.send-icon {
  margin-right: 10px;
  cursor: pointer;
}

#input-field:focus {
  border-color: var(--color-message);
  outline: none;
}

p[sentTime]:hover::after {
  content: attr(sentTime);
  position: absolute;
  top: -3px;
  font-size: 14px;
  color: gray;
}

.user-message p[sentTime]:hover::after {
  right: 15px;
}

/* Width */
::-webkit-scrollbar {
  width: 10px;
}

/* Track */
::-webkit-scrollbar-track {
  background: #f1f1f1;
}

/* Handle */
::-webkit-scrollbar-thumb {
  background: #888;
}

/* Handle on hover */
::-webkit-scrollbar-thumb:hover {
  background: #555;
}

.add-loading-dots:after {
  content: " .";
  animation: dots 1s steps(5, end) infinite;
}

@keyframes dots {
  0%, 20% {
    color: rgba(0, 0, 0, 0);
    text-shadow: .25em 0 0 rgba(0, 0, 0, 0), .5em 0 0 rgba(0, 0, 0, 0);
  }
  40% {
    color: var(--color-dots);
    text-shadow: .25em 0 0 rgba(0, 0, 0, 0), .5em 0 0 rgba(0, 0, 0, 0);
  }
  60% {
    text-shadow: .25em 0 0 var(--color-dots), .5em 0 0 rgba(0, 0, 0, 0);
  }
  80%, 100% {
    text-shadow: .25em 0 0 var(--color-dots), .5em 0 0 var(--color-dots);
  }
}
