*:focus {
    outline: none;
}

.formstyle {
    width: 55.63%;
    margin: 0 auto;
}

.formstyle h2 {
    margin: 0;
    display: inline;
}

.formstyle label {
    width: 50%;
}

.formstyle label, .shortLabel {
    min-width: 7.3333em;
    margin-top: 0.2em;
    display:inline-block;
    padding: 0.2em;
    font-weight: bold;
    word-wrap: break-word;
}

.formstyle input[type="checkbox"] + label {
    display: inline;
}


.formstyle input[type=text], .formstyle input[type=email], .formstyle input[type=number] {
    height: 1.3333em;
    width: 14.6667em;
    padding: 0.333em 0.5333em;

    -webkit-box-sizing: content-box; /* Safari/Chrome, other WebKit */
    -moz-box-sizing: content-box;    /* Firefox, other Gecko */
    box-sizing: content-box;         /* Opera/IE 8+ */
}

.formstyle select {
    padding: 0.333em 0.5333em;
    width: 17.2em;

    -webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */
    -moz-box-sizing: border-box;    /* Firefox, other Gecko */
    box-sizing: border-box;         /* Opera/IE 8+ */
}

.formstyle textarea {
    padding: 0.5333em;
    width: 20em;
    height: 6em;

    -webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */
    -moz-box-sizing: border-box;    /* Firefox, other Gecko */
    box-sizing: border-box;         /* Opera/IE 8+ */
}

.formstyle input[type=text], .formstyle input[type=email], .formstyle input[type=number], .formstyle textarea, .formstyle select {
    border: 0.0667em solid #aaa;
    box-shadow: 0 0 0.2em #ccc, 0 0.6667em 1em #eee inset;
    border-radius: 0.1333em;
    padding-right: 2em;
}

.requiredElem {
    background: #fff url(../images/red_asterisk.png) no-repeat 98% center;
}

.invalidElem {
    background: #fff url(../images/xbutton1.png) no-repeat 96% center;
    box-shadow: 0 0 5px #d45252 !important;
    border-color: #b03535;
}

select.invalidElem {
    background: #fff url(../images/xbutton1.png) no-repeat 94% center;
    box-shadow: 0 0 5px #d45252;
    border-color: #b03535;
}

.validElem {
    background: #fff url(../images/ybutton1.png) no-repeat 98% center;
    box-shadow: 0 0 5px #5cd053;
    border-color: #28921f;
}

.form_hint {
    background: #d45252;
    border-radius: 10px;
    color: white;
    padding: 0.5em;
    z-index: 999;
    font-size: 0.9em;
    margin-top: 1em;
    position: relative;
}

.form_hint::before {
    content: "\25b2";
    color: #d45252;
    position: absolute;
    top: -0.75em;
}

/* TicketAnswer Formular */

#ticketAnswerForm {
    width: 100%;
}

#ticketAnswerForm fieldset {
    width: 90%;
    margin: 0 auto;
}

#ticketAnswerForm legend {
    text-align: center;
}

