article, content-right, details, figcaption, figure, footer, header, hgroup, nav, section {
  display: block;
}

img {
  border: none;
}

body {
  background-color: #E6E6E6;
  font-family: "Lucida Grande", Tahoma, Arial, Verdana, sans-serif;
  margin: 0;
}

#logo {
  max-width: 780px;
  margin: 0 auto;
}

#logo img {
  max-width: 100%;
}

#form_container {
  position: relative;
  background-color: #ffffff;
  margin: 0 auto 30px auto;
  padding: 10px 15px 30px 15px;
  text-align: left;
  max-width: 780px;
  min-height: 700px
}

p {
  line-height: 1.6em;
}

#top {
  display: block;
  height: 10px;
  margin: 10px auto 0;
  width: 780px;
}

#bottom {
  display: block;
  height: 10px;
  margin: 0 auto;
  width: 780px;
}

/**** Form Section *****/

form.appnitro {
  margin: 0 20px 0;
  padding: 0 0 10px;
}

.sub {
  padding: 5px 0 5px 25px;
}

.appnitro {
  font-family: "Lucida Grande", Tahoma, Arial, Verdana, sans-serif;
  font-size: 14.5px;
}

form ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
  width: 100%;
}

form li {
  display: block;
  margin: 0;
  padding: 4px 5px 2px 9px;
  position: relative;
}

form li:after {
  clear: both;
  content: ".";
  display: block;
  height: 0;
  visibility: hidden;
}

.buttons:after {
  clear: both;
  content: ".";
  display: block;
  height: 0;
  visibility: hidden;
}

.buttons {
  clear: both;
  display: block;
  margin-top: 10px;
}

* html form li {
  height: 1%;
}

* html .buttons {
  height: 1%;
}

* html form li div {
  display: inline-block;
}

form li div {
  color: #444;
  margin: 0 4px 0 0;
  padding: 0 0 8px;
}

form li span {
  color: #444;
  /* float:left; */
  margin: 0 4px 0 0;
  padding: 0 0 8px;
}

form li div.left {
  display: inline;
  float: left;
  width: 48%;
}

form li div.right {
  display: inline;
  float: right;
  width: 48%;
}

form li div.left .medium {
  width: 100%;
}

form li div.right .medium {
  width: 100%;
}

.clear {
  clear: both;
}

form li div label {
  clear: both;
  color: #444;
  display: block;
  font-size: 10px;
  margin: 0;
  padding-top: 3px;
}

form li span label {
  clear: both;
  color: #444;
  display: block;
  font-size: 10px;
  margin: 0;
  padding-top: 3px;
}

form li .datepicker {
  cursor: pointer !important;
  float: left;
  height: 16px;
  margin: .1em 5px 0 0;
  padding: 0;
  width: 16px;
}

form hr {
  /*display:none;*/
  width: 90%;
}

form li.section_break {
  border-top: 1px dotted #ccc;
  margin-top: 9px;
  padding-bottom: 0;
  padding-left: 9px;
  padding-top: 13px;
  width: 97% !important;
}

form ul li.first {
  border-top: none !important;
  margin-top: 0 !important;
  padding-top: 0 !important;
}

form .section_break h3 {
  font-size: 130%;
  font-weight: 400;
  line-height: 130%;
  margin: 0 0 2px;
}

form .section_break p {
  margin: 0 0 10px;
}

/**** Buttons ****/

input.button_text {
  overflow: visible;
  padding: 0 7px;
  width: auto;
}

.buttons input {
  font-size: 120%;
  margin-right: 5px;
}

/**** Inputs and Labels ****/

label.description {
  border: none;
  /*color:#222;*/
  color: #4B75B3;
  display: block;
  /*font-weight:700;*/
  line-height: 150%;
  padding: 0 0 1px;
}

label.description-sub {
  border: none;
  /*color:#222;*/
  color: #4B75B3;
  display: block;
  /*font-weight:700;*/
  line-height: 150%;
  padding: 0 0 1px 25px;
}

span.symbol {
  font-size: 115%;
  line-height: 130%;
}

textarea.textarea {
  border-bottom: 1px solid #ddd;
  border-left: 1px solid #c3c3c3;
  border-right: 1px solid #c3c3c3;
  border-top: 1px solid #7c7c7c;
  color: #333;
  font-family: "Lucida Grande", Tahoma, Arial, Verdana, sans-serif;
  margin: 0;
  width: 99%;
}

select.select {
  color: #333;
  margin: 1px 0;
  padding: 1px 0 0;
  border-bottom: 1px solid #ddd;
  border-left: 1px solid #c3c3c3;
  border-right: 1px solid #c3c3c3;
  border-top: 1px solid #7c7c7c;
}

input.currency {
  text-align: right;
}

input.checkbox {
  display: block;
  height: 13px;
  line-height: 1.4em;
  margin: 6px 0 0 3px;
  width: 13px;
}

input.radio {
  display: block;
  height: 13px;
  line-height: 1.4em;
  margin: 6px 0 0 3px;
  width: 13px;
}

label.choice {
  color: #444;
  display: block;
  line-height: 1.4em;
  margin: -1.55em 0 0 25px;
  padding: 4px 0 5px;
}

select.select[class] {
  margin: 0;
  padding: 1px 0;
}

*:first-child + html select.select[class] {
  margin: 1px 0;
}

.safari select.select {
  font-size: 120% !important;
  margin-bottom: 1px;
}

input.smallest {
  width: 10%;
}

select.smallest {
  width: 10%;
}

input.smaller {
  width: 15%;
}

select.smaller {
  width: 15%;
}

input.small {
  width: 25%;
}

select.small {
  width: 25%;
}

input.medium {
  width: 40%;
}

select.medium {
  width: 40%;
}

input.large {
  width: 50%;
}

select.large {
  width: 50%;
}

input.largest {
  width: 91%;
}

textarea.small {
  height: 5.5em;
}

textarea.medium {
  height: 10em;
}

textarea.large {
  height: 20em;
}

/**** Errors ****/
#error_message {
  background: #fff;
  border: 1px dotted red;
  margin-bottom: 1em;
  padding-left: 0;
  padding-right: 0;
  padding-top: 4px;
  text-align: center;
  width: 99%;
}

#error_message_title {
  color: #DF0000;
  font-size: 125%;
  margin: 7px 0 5px;
  padding: 0;
}

#error_message_desc {
  color: #000;
  margin: 0 0 .8em;
}

#error_message_desc strong {
  background-color: #FFDFDF;
  color: red;
  padding: 2px 3px;
}

.login_error {
  color: red;
  font-weight: bold;
}

form li.error {
  background-color: #FFDFDF !important;
  border-bottom: 1px solid #EACBCC;
  border-right: 1px solid #EACBCC;
  margin: 3px 0;
}

form li.error label {
  color: #DF0000 !important;
}

form p.error {
  clear: both;
  color: red;
  font-size: 10px;
  font-weight: 700;
  margin: 0 0 5px;
}

form .required {
  color: red;
  float: none;
  font-weight: 700;
}

/**** Guidelines and Error Highlight ****/

form .guidelines {
  background: #f5f5f5;
  border: 1px solid #e6e6e6;
  color: #444;
  font-size: 80%;
  left: 100%;
  line-height: 130%;
  margin: 0 0 0 8px;
  padding: 8px 10px 9px;
  position: absolute;
  top: 0;
  visibility: hidden;
  width: 42%;
  z-index: 1000;
}

form .guidelines small {
  font-size: 105%;
}

form .guidelines {
  visibility: visible;
}

form li:hover .guidelines {
  visibility: visible;
}

.no_guidelines .guidelines {
  display: none !important;
}

.no_guidelines form li {
  width: 97%;
}

.no_guidelines li.section {
  padding-left: 9px;
}

/*** Success Message ****/
.form_success {
  clear: both;
  margin: 0;
  padding: 90px 0 100px;
  text-align: center
}

.form_success h2 {
  clear: left;
  font-size: 160%;
  font-weight: normal;
  margin: 0 0 3px;
}

/*** Password ****/
ul.password {
  margin-top: 60px;
  margin-bottom: 60px;
  text-align: center;
}

.password h2 {
  color: #DF0000;
  font-weight: bold;
  margin: 0 auto 10px;
}

.password input.text {
  font-size: 170% !important;
  width: 380px;
  text-align: center;
}

.password label {
  display: block;
  font-size: 120% !important;
  padding-top: 10px;
  font-weight: bold;
}

#li_captcha {
  padding-left: 5px;
}

#li_captcha span {
  float: none;
}

/** Embedded Form **/

.embed #form_container {
  border: none;
  width: 100%;
}

.embed #top, .embed #bottom, .embed h1 {
  display: none;
}

.embed #footer {
  text-align: left;
  padding-left: 10px;
  width: 99%;
}

.embed #footer.success {
  text-align: center;
}

.embed form.appnitro {
  margin: 0 0 0;
}

/***** AEV *****/

.main_title {
  clear: both;
  display: block;
  margin: 1em 0 1em;
}

span.check {
  font-size: 140%;
}

.help {
  color: #cc9966;
  margin-left: 5px;
  white-space: nowrap;
  cursor: help;
}

form span.error {
  color: red;
  font-size: 10px;
  font-weight: 700;
}

label.inline {
  display: inline;
}

#id_alt_wadresse_enable,
#id_alt_wadresse_disable {
  margin: 10px 0 20px 0;
}

/***** page intro *****/

.regtitle .radio {
  margin: 0;
}

.regtitle .ui-icon {
  pointer-events: none;
}

.regtitle, .regtype, .regheader {
  padding: 3px;
  margin: 6px auto;
}

.regtitle, .regheader {
  font-weight: 700;
  padding: 10px 16px;
}

.regheader {
}

.regtitle {
  background-color: #E6E6E6;
  color: #a5a5a5;
  cursor: pointer;
  background-repeat: no-repeat;
  background-position: 99% 50%;
}

.regtitle.active {
  color: #3b7bbd;
  background-image: url('../images/arr-up.png');
}

.regtitle.inactive {
  background-image: url('../images/arr-down.png');
}

.regtype {
  width: 60%;
  border: solid 3px #8bb8f3;
  background-color: white;
  margin: 15px auto;
  padding: 15px;
}

.regtitle.inactive + .regtype {
  display: none;
}

.regtitle.active + .regtype {
  display: block;
}

/*** new ***/
.regtitle.active {
  position: relative;
  background-color: #3b7bbd;
  border-top-right-radius: 5px;
  border-top-left-radius: 5px;
  color: #ffffff;
  font-weight: normal;
  background-image: none;
}

.regtitle.active .ui-icon {
  background-image: url(../lib/jquery-ui/images/ui-icons_ffffff_256x240.png);
  background-position: 0 -16px;
}

/*** new ***/
.regtitle.inactive {
  position: relative;
  background-color: #f6f6f6;
  border-top-right-radius: 5px;
  border-top-left-radius: 5px;
  color: #000000;
  font-weight: normal;
  background-image: none;
}

.regtitle.inactive .ui-icon {
  background-position: -64px -16px;
}

/** all **/

.flag {
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  width: auto;
  height: auto;
}

.lang-menu {
  position: absolute;
  right: 35px;
  top: -45px;
}

.lang-menu button > img {
  border: 1px solid #336699;
}

.lang-menu button:hover {
  cursor: pointer;
}

.lang-menu button:focus {
  outline: none;
}

.lang-menu-options {
  width: 166px;
  padding: 3px;
  margin: 0;
  position: absolute;
  right: 0px;
  bottom: -5px;
  display: none;
  background-color: rgba(255, 255, 255, 1.0);
  box-shadow: 0 0 30px rgba(0, 0, 0, 0.3);
  letter-spacing: 0px;
}

.lang-menu-options button {
  margin: 0;
  padding: 1px;
}

.lang-menu.active .lang-menu-options {
  display: block;
}



.custombuttons {
  margin: 0 20px 0;
  padding: 0 0 10px;
}

.custombuttons form {
  display: inline;
}

/***** page overview *****/

.overview-table {
  width: 100%;
  border-spacing: 0;
  border-collapse: collapse;
  background-color: #DBE5F1;
  color: #003b85;
}

.overview-table td {
  position: relative;
  vertical-align: top;
  border: solid 2px white;
  padding: 3px;
}

.overview-header {
  font-weight: bold;
}

.overview-table .btn {
  float: right;
  margin: 5px;
}

#overview-invoice th, #overview-invoice td {
  padding: 2px 4px;
}

/*****************************************************************************/

.spinner-overlay {
  background-color: #FFFFFF;
  width: 100%;
  position: relative;
  display: none;
  background-image: url('../images/ajax-loader.gif');
  background-position: center;
  background-repeat: no-repeat;
  opacity: 0.7;
}

.logout {
  border: 1px solid #f63;
  margin-top: 2em;
}

input[type=password] {
  border-radius: 4px;
  background: transparent url(../images/input-bg.png) repeat-x;
  border: 1px solid #CACACA;
  color: #2E2E2E;
  font-size: 0.9em;
  margin: 1px 0 1px 0;
  padding: 3px 1px 3px 1px;
}

input.not-valid, label.not-valid {
  border: 2px solid red;
}

/***** footer section *****/

a {
  color: #4176AB;
  /*color:#4C8BC9;*/
  text-decoration: none;
}

a:hover {
  color: #1f5ea3;
  text-decoration: underline;
}

.sr-hint {
  opacity: 0;
  display: inline;
  position: absolute;
  left: 0;
  top: 0;
  height: 0;
  width: 0;
}

/*** FOOTER ******************************************************************/

footer {
  padding-top: 30px;
  display: block;
  width: 100%;
  background: #232323;
  background: linear-gradient(#232323, #414141);
}

.footer-container {
  margin: 0 auto;
  max-width: 780px;
}

.footer-links {
  padding: 0 30px 30px 30px;
}

footer ul {
  padding: 0;
  margin: 0;
  list-style-image: url(../images/nav-footer-arrow.gif);
}

footer li {
  line-height: 1.5em;
}

footer a {
  color: #999999;
  font-size: 0.8em;
}

footer a:hover {
  color: white !important;
}

.footer-logo {
  padding: 0 30px 30px 30px;
  text-align: right;
}

.footer-logo img {
  width: 170px;
  height: 60px;
}

footer #copyright {
  text-align: center;
  padding: 1.25em 0;
}

footer #copyright a {
  color: #f63;
  font-size: 0.9em;
}


/*****************************************************************************/

.clearfix:before, .clearfix:after {
  content: "";
  display: table;
}

.clearfix:after {
  clear: both;
}

.clearfix {
  zoom: 1;
}

h4.label {
  display: inline;
}

.deletable .checkbox-container {
  border: 1px dotted red;
  display: inline-block;
}

.uppercase {
  text-transform: none;
}

div.textblock ul {
  list-style-type: disc;
  margin-top: 0.3em;
  padding-left: 1.4em;
}

div.textblock li {
  display: list-item;
}

h4 {
  font-size: 14px;
  padding: 30px 0 10px 0;
  font-weight: bold;
}

.progress-chart {
  margin: 25px 0;
  padding: 4px;
  text-align: center;
  /*background-color: #e0e0e0;*/
  /*color: #999999;*/
  background-color: #3b7bbd;
  color: #ffffff;
}

.multi-container {
  margin-bottom: 30px;
}

.multi-container-item {
  margin-bottom: 10px;
  border-bottom: 3px solid #cccccc;
}

.multi-container button.add,
.multi-container button.del {
  margin: 10px 15px 10px 0;
}

/*** BOOTSTRAP ADJUSTMENT ****************************************************/

.form-control::placeholder {
  color: #cccccc;
}

img {
  width: 100%;
}

.h1, h1 {
  font-size: 1.5rem;
  font-weight: 600;
}

.h3, h3 {
  font-size: 1.0rem;
}

/* hide input type file as much as possible but not entirely */
.form-control-file {
  width: 0.1px;
  height: 0.1px;
  opacity: 0;
  overflow: hidden;
  position: absolute;
  z-index: -1;
}

.form-control-file + label {
  display: inline-block;
}

.form-check label {
  display: inline;
}

.btn {
  text-overflow: ellipsis;
  overflow: hidden;
}

.btn-primary {
  color: #fff;
  background-color: #3b7bbd;
  border-color: #3b7bbd;
}

.btn-secondary {
  color: #3b7bbd;
  background-color: #ddd;
  border-color: #ddd;
}

/*
- start: wide blue rectangle
- steps graph raus
- Button "Weitere Person..." too wide
*/


.actions-bottom {
  margin-top: 25px;
}

@media screen and (max-width: 768px) {
  h1 {
    font-size: 1.2rem;
  }

  .lang-menu {
    top: -36px;
  }

  .lang-menu button {
    width: 36px;
  }

  .lang-menu-options {
    width: 126px;
  }

  .container {
    padding: 0;
  }

  #form_container {
    margin: 0;
    padding-left: 0;
    padding-right: 0;
    padding-bottom: 0;
  }

  .regtype {
    width: 100%;
  }

  .ui-accordion .ui-accordion-header, .ui-accordion .ui-accordion-content {
    padding: 13px 16px;
  }
}


@media screen and (max-width: 480px) {
  h1 {
    font-size: 1rem;
  }

  .overview-table td {
    padding-bottom: 50px;
  }

  .overview-table .btn {
    float: none;
    margin: 0;
    position: absolute;
    left: 5px;
    bottom: 5px;
  }

  .actions-bottom .btn {
    display: block;
    width: 100%;
    margin: 10px 0;
  }

  .lang-menu {
    right: 15px;
  }

  .form-control {
    display: block;
    width: 100% !important;
  }
}

@media screen and (max-width: 380px) {
  .lang-menu {
    right: 8px;
    top: -32px;
  }
}

@media screen and (max-width: 320px) {
  .container {
    margin-top: 0;
    padding: 0;
  }

  .btn {
    display: block;
    width: 100%;
    margin: 10px 0;
  }

  .overview-table .btn {
    width: auto;
  }
}

/*** JQUERY UI ADJUSTMENT ****************************************************/

.ui-accordion .ui-accordion-header {
  border: 0;
  border-top-right-radius: 5px;
  border-top-left-radius: 5px;
  padding: 13px 16px;
}

.ui-accordion .ui-accordion-header-active {
  background-color: #3b7bbd;
}

.ui-accordion-header:focus {
  outline: none;
}

.ui-accordion-header-icon {
  position: absolute;
  right: 12px;
  top: 17px;
}

.ui-icon-triangle-1-s {
  background-position: 0 -16px;
}

.ui-icon-triangle-1-e {
  background-position: -64px -16px;
}

/*** TOOLTIP ADJUSTMENT ******************************************************/

#WzTtDiV {
  box-shadow: 0 0 50px rgba(100, 50, 0, 0.25);
  border-radius: 5px;
  border: 2px solid rgba(100, 50, 0, 0.5);
}

#WzBoDy {
  background: #ffffff !important;
}

#WzBoDy * {
  color: #996633 !important;
}

/*** TOP MENU *****************************************************************/

#topnav {
  max-width: 780px;
  margin: 0 auto;
  font-size: 0.7em;
}

#topnav a {
  font-family: Verdana, Geneva, sans-serif;
  color: #555;
  position: relative;
}

.topnav-trigger {
  display: none;
  cursor: pointer;
  font-size: 30px;
  border: 0;
  background: transparent;
  color: #ffffff;
  margin: 0;
  padding: 0;
  position: absolute;
  left: 0px;
  top: -45px;
  width: 45px;
  height: 45px;
}

.topnav-trigger:focus {
  outline: 0;
}

.topnav-options {
  list-style-type: none;
  margin: 10px 0;
  padding: 0;
}

.topnav-options li {
  display: inline-block;
  padding: 0 4px 0 2px;
  border-right: 1px solid #cccccc;
}

.topnav-options li:last-child {
  border: 0;
}

@media screen and (max-width: 480px) {
  .topnav-trigger {
    display: inline-block;
  }

  #topnav.active .topnav-options {
    display: block;
  }

  .topnav-options {
    display: none;
    position: absolute;
    left: 0px;
    top: -10px;
    padding: 5px;
    background-color: #ffffff;
    box-shadow: 0 0 30px rgba(0, 0, 0, 0.3);
    z-index: 10;
  }

  .topnav-options li {
    display: block;
    padding: 10px 15px;
    border: 0;
  }
}

/*** OTHER *******************************************************************/

.nowrap {
  white-space: nowrap;
}
