/* $Id: bmstyle.css,v 4.23 2026/08/20 18:45:04 kieber Exp $ */

* {
  box-sizing: border-box;
  font-family: -apple-system, BlinkMacSystemFont, "segoe ui", roboto, oxygen, ubuntu, cantarell, "fira sans", "droid sans", "helvetica neue", Arial, sans-serif;
  font-size: 16px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

html,
body {
  height: 100%;
  /* The html and body elements cannot have any padding or margin. */
}

body {
  background-color: #435165;
  margin: 0;
}

/* padding for header menu */
body.header-menu {
  padding-top: 47px;
}

body.loggedin {
  /* background-color: #f3f4f7; */
  /* background-color: #f6f7f5; */
  /* gut background-color: #fffff0; */
  background-color: #f4f4f3;
}

/* bg-color for body */
body.transparent {
  background-color: #ffffff;
}

/* bg-pic for non-logged-in body */
body.bgpic {
  /*
  background: url("../bg1.png") no-repeat center center / cover;
  background-image: url("../bg1.png");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  */
}

.warn {
  color: red;
}

main div.top > :first-child {
  padding-top: 0.75rem;
}

/* Navbar buttons */
.nb {
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  line-height: 1.5;
  text-align: center;
  font-weight: 400;
  vertical-align: middle;
  display: inline-block;
  border-radius: 0.2rem;
  /* color: #909090; // grey */
  color: #fff;
  /* background-color: #28a745; */
  /* border-color: #28a745; */
  background-color: transparent;
  border-color: transparent;
  border: 1px solid transparent;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

.nb:hover {
  color: #fff;
  /* background-color: #218838; */
  background-color: OrangeRed;
  /* border-color: #1e7e34; */
  border-color: OrangeRed;
}

/* border-color: #1e7e34;
.nb:focus {
  color: #fff;
  background-color: OrangeRed;
  border-color: #fc3a00;
  box-shadow: 0 0 0 0.2rem rgba(72, 10, 10, 0.5);
}
*/

.fa-copy, .fa-envelope-open-text {
  padding: 0;
  color: #909090;
  border: 0;
  font-size: 1.20em;
  background-color: transparent;
}

.fa-play {
  padding: 0;
  color: #909090;
  border: 0;
  font-size: .80em;
  background-color: transparent;
}

.fa-forward, .fa-backward, .fa-fast-forward, .fa-fast-backward {
  /* padding: 0.2em; */
  padding: 0;
  color: #909090;
  border: 0;
  font-size: .80em;
  background-color: transparent;
}

.fa-copy:hover, .fa-copy:focus,
.fa-envelope-open-text:hover, .fa-envelope-open-text:focus,
.fa-play:hover, .fa-play:focus,
.fa-forward:hover, .fa-forward:focus,
.fa-backward:hover, .fa-backward:focus,
.fa-fast-forward:hover, .fa-fast-forward:focus,
.fa-fast-backward:hover, .fa-fast-backward:focus {
  color: black;
}

.fa-times {
  padding: 0;
  color: #ff9090;
  border: 0;
  font-size: .80em;
  background-color: transparent;
}

.fa-times:hover, .fa-times:focus {
  color: red;
}

.fa-fw.fa-pull-right {
  padding-top: 2%;
}

.recat {
  border: 0 !important;
  color: #007bff !important; /* DodgerBlue */
  /* height: calc(1.5em + 0.75rem + 2px); */
  height: calc(1.5em + 0.125rem + 2px) !important;
  /* padding: 0.375rem 0.75rem; */
  padding: 0.0rem 0.0rem 0.125rem !important;
  /* line-height: 1.5; */
  min-width: 12ch;
}

.recat:hover, .recat:focus {
  color: #0056b3 !important;
  text-decoration: underline;
}

a {
  text-decoration: none;
}

optgroup {
  color: black;
  padding: 0;
}

input[type="file"] {
  field-sizing: content;
  max-width: calc(100vw - 8em);
}

/* --- Profile and Topup Form Styles --------------------------------------- */

.content {
/* width at lg (992px) or xl (1200px) breakpoint - 2 * padding (10px)  */
  /* width: 1000px; */
  width: 972px;
  margin: 0 auto;
}

.content h2 {
  margin: 0;
  padding: 25px 0;
  font-size: 22px;
  border-bottom: 1px solid #e0e0e3;
  color: #4a536e;
}

.content .block {
  box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.1);
  margin: 25px 0;
  padding: 25px;
  background-color: #fff;
}

.content .block p {
  padding: 5px;
  margin: 0 0 10px 0;
}

.content.profile form label {
  font-weight: bold;
  color: #4a536e;
  display: block;
  padding: 10px 0 5px 0;
}

.content.profile form input[type="text"],
.content.profile form input[type="password"],
.content.profile form input[type="email"],
.content.profile form input[type="number"],
.content.profile form select {
  padding: 10px;
  width: 250px;
  border: 1px solid #ddd;
}

.content.profile form #inv_zip {
  width: 9em;
}

.content.profile form #inv_country {
  width: 100%;
  max-width: calc-size(max-content, size + 1.5em);
}

@property --vatid-width {
  syntax: "*";
  inherits: false;
  initial-value: 10em;
}

.content.profile form #cust_type {
  width: calc(100% - var(--vatid-width));
  min-width: 10em;
}

.content.profile form #vatid {
  width: var(--vatid-width);
}

/* --- Register and Login Popup Styles ------------------------------------- */

.eye-h {
  cursor: pointer;
}

.vexp {
  min-height: calc(100dvh - 94px);
}

.regist, .logi {
  width: 410px;
  background-color: #ffffff;
  box-shadow: 0 0 9px 0 rgba(0, 0, 0, 0.3);
/*  margin: 100px auto; */
  margin: auto;
  border-radius: 30px;
  overflow: hidden;
}

/* popovers carry accompanying ids */
.regist#register, .logi#login {
  background-color: rgba(0, 0, 0, 0.02);
  backdrop-filter: blur(10px);
  border-width: 0.1em;
  padding: 0; /* padding > 0 will be visible around submit button */
  /* popover width = width + 2 * padding + 2 * border-width */
  width: calc(410px + 0.2em); /* 0.7em; */
}

.regist h1, .regist h3, .logi h1, .logi h3 {
  text-align: center;
  color: #5b6574;
  font-size: 24px;
  padding: 20px 0 20px 0;
  border-bottom: 1px solid #dee0e4;
}

.regist .links, .logi .links {
  display: flex;
  padding: 0 15px;
}

.regist .links a, .logi .links a {
  /* color: #adb2ba; */
  color: #6d727a;
  text-decoration: none;
  display: inline-flex;
  padding: 0 10px 10px 10px;
  font-weight: bold;
}

.regist .links a:hover, .logi .links a:hover {
  /* color: #9da3ac; */
  color: #3d434c;
}

.regist .links a.active, .logi .links a.active {
  border-bottom: 3px solid #3274d6;
  color: #3274d6;
}

.regist form, .logi form {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  padding-top: 20px;
}

.regist form .input-group, .logi form .input-group {
  width: 100%;
  margin-bottom: 12px;
  padding: 0 15px;
}

.regist form .input-group .label, .logi form .input-group .label {
  background-color: #3274d6;
  color: #ffffff;
}

.regist form input[type="submit"], .logi form input[type="submit"] {
  width: 100%;
  padding: 15px;
  margin-top: 8px;
  background-color: #3274d6;
  border: 0;
  cursor: pointer;
  font-weight: bold;
  color: #ffffff;
  transition: background-color 0.2s;
}

.regist form input[type="submit"]:hover, .logi form input[type="submit"]:hover {
  background-color: #2868c7;
  transition: background-color 0.2s;
}

.logi form #rm_label {
  white-space: nowrap;
  height: auto;
  background-color: transparent;
  color: #000;
}

.logi form #rm_fine {
  white-space: nowrap;
  font-size: 85%;
}

.logi form #rm_input {
  transform: scale(1.3);
}

.regist form .msg, .logi form .msg {
  padding: 0 20px;
  width: 100%;
  margin-bottom: 12px;
  color: red;
}

.regist form > a, .logi form > a {
  text-decoration: none;
  color: #5b6574;
  width: 100%;
  padding: 5px 20px;
}

.regist form > a:hover, .logi form > a:hover {
  color: #394049;
}

/* --- Table Styles -------------------------------------------------------- */

table.inv_codes, table.invoice, table.settings {
  width: 100%;
}

table.inv_codes th, table.inv_codes td,
table.settings th, table.settings td {
  vertical-align: bottom;
  overflow: hidden;
  padding: 5px 10px;
  width: 1%;
}

table.inv_codes th, table.inv_codes td {
  white-space: nowrap;
}

table.inv_codes th:nth-child(n+2),
table.inv_codes td:nth-child(n+3):nth-child(-n+4) {
  text-align: center;
}

table.inv_codes td:nth-child(n+5) {
  text-align: right;
  padding-right: 15px;
}

table.inv_codes td:nth-child(1), table.settings td.squeeze {
  width: 65%;
  max-width: 0;
  text-overflow: ellipsis;
  white-space: nowrap;
}

table.settings td:nth-child(1) {
  vertical-align: top;
  width: 35%;
  font-weight: bold;
  color: #4a536e;
  padding-right: 15px;
}

table.settings td:last-child {
  width: 65%;
  /* word-break: break-all; */
}

table.inv_codes tr:nth-child(even) {
  background-color: whitesmoke;
}

/* Sticky footer styles
-------------------------------------------------- */

/* Wrapper for page content to push down footer */
#wrap {
  min-height: 100%;
  height: auto !important;
  height: 100%;
  /* Negative indent footer by it's height */
  margin: 0 auto -47px;
}

/* Set the fixed height of the footer here */
#push {
  height: 47px;
}

#footer {
  height: 47px;
}

/* Lastly, apply responsive CSS fixes as necessary */
@media screen and (max-width: calc(410px + 0.2em)) {
  .logi, .regist {
    width: 95% !important;
  }
}

/* max-width at lg (992px) or xl (1200px) breakpoint */
/* @media screen and (max-width: 1000px) { */
@media screen and (max-width: 992px) {
/* class navtop unused
  .navtop {
    height: auto;
    padding: 10px;
  }
  .navtop div {
    flex-flow: wrap;
    width: 100%;
  }
  .navtop div h1 {
    display: block;
    flex-basis: 100%;
  }
  .navtop div a {
    padding: 10px 0;
    flex-basis: 50%;
  }
*/
  .content {
    padding: 0 10px;
    width: 100%  !important;
  }
  .content form input[type="text"], .content form input[type="password"], .conte
nt form input[type="email"] {
    width: 100%;
  }
}

/* verursacht so wie es hier steht einen horizontalen Scrollbar */
/*
@media (max-width: 767px) {
  #footer {
    margin-left: -20px;
    margin-right: -20px;
    padding-left: 20px;
    padding-right: 20px;
  }
}
*/
