/*
 * Style-Sheet für kundeninfo.belwue.de (Standard-Style-Sheet)
 */
/*! (c) 2020, 2021 by BelWü */
/*** reset ***/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  border: none;
  margin: 0;
  padding: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

body {
  line-height: 1.22;
}

ol, ul {
  list-style: inside;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: "";
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

/*** general ***/
:focus {
  outline: none !important;
}

body {
  background-color: #fff;
  color: #000;
  font-family: BlinkMacSystemFont, -apple-system, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 14pt;
  font-weight: normal;
}

a {
  color: #00f;
  text-decoration: none;
}
a:hover {
  text-decoration: underline;
}

b {
  font-weight: bold;
}

code {
  font-family: "courier new", Courier, monospace;
  font-size: 0.8em;
}

h1 {
  font-size: 2em;
  font-weight: bold;
  margin: 0 0 1rem 0;
}

h2 {
  font-size: 1.7em;
  font-weight: bold;
  margin: 0 0 1rem 0;
}

h3 {
  font-size: 1.5em;
  font-weight: bold;
  margin: 0 0 1rem 0;
}

h4 {
  font-size: 1.2em;
  font-weight: bold;
  margin: 0 0 1rem 0;
}

hr {
  border: 1px solid #000;
  margin-bottom: 1rem;
}

i {
  font-style: italic;
}

ol, ul {
  margin: 0 0 1rem 0;
}

ol {
  list-style: decimal outside;
  margin-left: 2em;
}

ul {
  list-style: disc outside;
  margin-left: 1.5em;
}

p {
  margin-bottom: 1rem;
  text-align: left;
}

pre {
  font-family: "courier new", Courier, monospace;
  font-size: 0.8em;
  margin-bottom: 1rem;
  overflow-x: auto;
  overflow-y: visible;
  text-align: left;
}

table {
  margin-bottom: 1rem;
}

th {
  padding: 0.3em;
  vertical-align: top;
  font-weight: bold;
  text-align: center;
}

td {
  padding: 0.3em;
  vertical-align: top;
  text-align: left;
}

.clear {
  clear: both;
}

.no-wrap {
  white-space: nowrap;
}

.overflw-x {
  overflow-x: auto;
  overflow-y: visible;
}

.pull-left {
  float: left;
}

.pull-right {
  float: right;
}

/* grid */
.col-2l {
  float: left;
  margin: 0 0 0.5em 0;
  width: 30%;
}

.col-2r {
  float: left;
  margin: 0 0 0.5em 2%;
  width: 67%;
}

.col-2l_cb {
  float: left;
  margin: 0 0 0.5em 0;
  width: 30%;
}

.col-2r_cb {
  float: left;
  margin: 0 0 0.5em 2%;
  width: 10%;
}

.col-3l {
  float: left;
  margin: 0 0 0.5em 0;
  width: 30%;
}

.col-3m {
  float: left;
  margin: 0 0 0.5em 2%;
  width: 35%;
}

.col-3r {
  float: right;
  margin: 0 0 0.5em 0;
  width: 30%;
}

.row:after {
  clear: both;
  content: "";
  display: table;
}

/*** nav_main ***/
#nav_main {
  background-color: #363636;
  color: #fff;
  font-size: 12pt;
  position: fixed;
  text-align: left;
  top: 0;
  width: 100%;
  z-index: 10;
}
#nav_main a {
  text-decoration: none;
}
#nav_main .nav_img {
  height: 1.75em;
  position: relative;
  top: 0.5em;
  width: auto;
}

/*** nav_brand ***/
#nav_main div.nav_brand {
  cursor: pointer;
  float: left;
  line-height: 3.5;
  padding: 0 0.5em;
}
#nav_main div.nav_brand:hover {
  background-color: #292929;
}
#nav_main div.nav_brand a {
  color: #fff;
}

/*** nav_burger ***/
#nav_main div.nav_burger {
  cursor: pointer;
  display: none;
  float: right;
  line-height: 3.5;
  padding: 0 0.3em;
  text-align: center;
  width: 2em;
}
#nav_main div.nav_burger:hover {
  background-color: #292929;
}
#nav_main div.nav_burger a {
  color: #fff;
}

/*** nav_login ***/
#nav_main div.nav_login {
  float: right;
  line-height: 3.5;
  padding: 0 0.3em;
}
#nav_main div.nav_login a {
  background-color: #080;
  border-radius: 0.3em;
  color: #fff;
  padding: 0.6em;
  margin: 0;
  white-space: nowrap;
}
#nav_main div.nav_login a:hover {
  background-color: #070;
}

/*** nav_top ***/
#nav_top div.nav_buttons {
  float: right;
  line-height: 3.5;
  padding: 0 0.3em;
}
#nav_top div.nav_buttons a {
  background-color: #3273dc;
  border-radius: 0.3em;
  color: #fff;
  padding: 0.6em;
  margin: 0;
  white-space: nowrap;
}
#nav_top div.nav_buttons a:hover {
  background-color: #276cda;
}
#nav_top ul {
  list-style: none;
  margin: 0;
}
#nav_top li {
  white-space: nowrap;
  margin: 0;
}
#nav_top ul.nav_1 {
  float: left;
}
#nav_top ul.nav_1 > li {
  display: inline;
  line-height: 3.5;
  padding: 1em 0.5em;
  position: relative;
}
#nav_top ul.nav_1 > li.nav_hi {
  background-color: #292929;
}
#nav_top ul.nav_1 > li:hover {
  background-color: #292929;
}
#nav_top ul.nav_1 > li > a {
  color: #fff;
}
#nav_top ul.nav_2 {
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 0.5em;
  box-shadow: 0.3em 0.3em 0.5em #ddd;
  display: none;
  left: 0;
  overflow: hidden;
  position: absolute;
  text-align: left;
  top: 3.5em;
  z-index: 20;
}
#nav_top ul.nav_2 > li {
  line-height: 1.5;
  padding: 0.2em 1em;
  position: relative;
}
#nav_top ul.nav_2 > li.nav_hi {
  background-color: #333;
}
#nav_top ul.nav_2 > li.nav_hi a {
  color: #fff;
}
#nav_top ul.nav_2 > li:hover:not(.nav_hi) {
  background-color: #eee;
}
#nav_top ul.nav_2 > li:hover:not(.nav_hi) a {
  color: #000;
}
#nav_top ul.nav_2 > li a {
  color: #444;
}

/*** nav_page ***/
#nav_page {
  background-color: #f0f0f0;
  border: 1px solid #ccc;
  border-radius: 0.75em;
  color: #444;
  font-size: 1.2em;
  margin: 0 auto 1rem auto;
  max-width: 20em;
  overflow: hidden;
}
#nav_page a {
  text-decoration: none;
  color: #444;
}
#nav_page ul {
  list-style: none;
  margin: 0;
}
#nav_page li {
  white-space: nowrap;
  margin: 0;
  padding: 0.5em 1em;
}
#nav_page li:hover {
  background-color: #ddd;
}
#nav_page li:hover a {
  color: #000;
}

/*** footer ***/
footer {
  background-color: #fff;
  color: #666;
  font-family: Arial, sans-serif;
  font-size: 0.8em;
  margin: 3em auto;
  text-align: center;
}

/*** content ***/
#content {
  margin: 3.5em auto 0 auto;
  padding: 1.5em;
  max-width: 80%;
}

/*** message boxes ***/
div.info-box {
  background-color: #44e;
  border-radius: 0.7em;
  box-shadow: 0.2em 0.2em 0.4em #666;
  color: #fff;
  padding: 1em;
  margin: 0 1em 1em 1em;
}
div.info-box a {
  color: #0ff;
}
div.info-box p {
  margin: 0;
}

div.warn-box {
  background-color: #cc0;
  border-radius: 0.7em;
  box-shadow: 0.2em 0.2em 0.4em #666;
  color: #000;
  padding: 1em;
  margin: 0 1em 1em 1em;
}
div.warn-box a {
  color: #00f;
}
div.warn-box p {
  margin: 0;
}

div.err-box {
  background-color: #800;
  border-radius: 0.7em;
  box-shadow: 0.2em 0.2em 0.4em #666;
  color: #fff;
  padding: 1em;
  margin: 0 1em 1em 1em;
}
div.err-box a {
  color: #ff0;
}
div.err-box p {
  margin: 0;
}

/*** article ***/
article {
  border: 1px solid #ddd;
  border-radius: 0.5em;
  box-shadow: 0.3em 0.3em 0.5em #ddd;
  margin: 0 0 1.5rem 0;
  padding: 1em;
}

/*** class "pagination" ***/
div.pagination {
  font-size: 0.85em;
}

/*** class "admin-lists" ***/
div.admin-lists {
  overflow-x: auto;
}
div.admin-lists table {
  margin: 0;
  width: 100%;
}
div.admin-lists th, div.admin-lists td {
  border: 1px solid #ccc;
  text-align: left;
}

/*** DNS-checker result-colors ***/
.dnsc_okay {
  color: #00c000;
}

.dnsc_warn {
  color: #d80000;
}

/*** forms ***/
input {
  box-sizing: border-box;
  width: 100%;
}
input[type=text], input[type=password], input[type=number], input[type=file] {
  border: 1px solid #ccc;
  border-radius: 0.75em;
  padding: 0.75em;
}
input[type=checkbox], input[type=radio] {
  width: auto;
}
input[type=submit] {
  background-color: #090;
  border: none;
  border-radius: 1.5em;
  color: #fff;
  cursor: pointer;
  font-size: 0.9em;
  margin: 0 0 0.5em 0;
  padding: 1em 0;
  text-decoration: none;
}
input[type=submit]:hover {
  background-color: #080;
}

select, textarea {
  border: 1px solid #ccc;
  border-radius: 0.75em;
  box-sizing: border-box;
  padding: 0.75em;
  width: 100%;
}

.input-border {
  border: 1px solid #ccc;
  border-radius: 0.75em;
  box-sizing: border-box;
  padding: 0.75em;
  width: 100%;
}

/*** error ***/
#error h1 {
  background-color: #800;
  border-radius: 0.5em;
  color: #fff;
  padding: 0.5em;
  text-align: center;
}
#error p {
  font-size: 1.2em;
}

.error {
  color: #d00;
  font-weight: bold;
}

/*** responsive-stuff ***/
@media screen and (max-width: 630pt) {
  #nav_main div.nav_burger {
    display: block;
  }

  #nav_top {
    background-color: #fff;
    border-bottom: 1px solid #ddd;
    box-shadow: 0.3em 0.3em 0.5em #ddd;
    color: #444;
    display: none;
    position: fixed;
    top: 3.5em;
    width: 100%;
  }
  #nav_top.vis {
    display: block;
  }
  #nav_top div.nav_buttons {
    float: none;
  }
  #nav_top ul.nav_1 {
    float: none;
    font-size: 14pt;
    padding: 1em 0;
  }
  #nav_top ul.nav_1 > li {
    display: block;
    line-height: 1.5;
    padding: 0.4em 0;
  }
  #nav_top ul.nav_1 > li.nav_hi {
    background-color: #eee;
  }
  #nav_top ul.nav_1 > li:hover {
    background-color: #eee;
  }
  #nav_top ul.nav_1 > li > a {
    color: #000;
    margin: 0 0 0 1em;
  }
  #nav_top ul.nav_1 > li > a + a {
    margin: 0;
  }
  #nav_top ul.nav_2 {
    border: none;
    border-radius: none;
    border-top: 1px solid #fff;
    border-bottom: 1px solid #fff;
    box-shadow: none;
    display: none;
    font-size: 11.2pt;
    padding: 0 0 0 1em;
    position: relative;
    top: 0;
  }
  #nav_top ul.nav_2 > li.nav_hi {
    background-color: #eee;
  }
  #nav_top ul.nav_2 > li.nav_hi a {
    color: #000;
  }

  #content {
    padding: 1em;
    max-width: 100%;
  }

  .col-2l, .col-2r, .col-3l, .col-3m, .col-3r {
    margin-left: 0;
    width: 100%;
  }

  .col-2l_cb {
    width: 85%;
  }

  .col-2r_cb {
    text-align: right;
  }
}
@media screen and (max-width: 400pt) {
  body {
    font-size: 12pt;
  }

  #nav_page {
    font-size: 1em;
  }
}
