.contact {
    font-family: Lato, sans-serif;
    color: #000;
    font-size: 14px;
    font-weight: normal;
    padding-left: 10px;
}

.contact * {
    box-sizing: content-box;
}

.contact .flex {
    display: flex;
    margin-bottom: 40px;
}

.contact .flex:last-child {
    margin-bottom: 0;
}

.contact h1 {
    font-size: 22px;
    font-weight: bold;
    padding-left: 10px;
    padding-top: 10px;
    padding-bottom: 10px;
    margin: 0;
}

.contact h2 {
    font-size: 18px;
    font-weight: bold;
    text-align: center;
    padding-bottom: 24px;
    margin: 0;
}

.contact #appointmentForm h2 {
    text-align: left;
}

.contact h3 {
    font-size: 14px;
    font-weight: bold;
    text-align: center;
    padding-bottom: 8px;
    margin: 0;
}

.contact .side {
    border: 1px solid #e6e6e6;
    border-radius: 4px 0 0 4px;
    width: 320px;
    float: left;
    padding: 32px 40px 48px 40px;
}

.contact #appointmentForm .side {
    width: 340px;
    background-color: #f8f8f8;
}

.contact .content {
    width: 480px;
    border: 1px solid #e6e6e6;
    border-radius: 0 4px 4px 0;
    border-left-width: 0;
    float: left;
    padding: 32px 29px 24px 40px;
    background-color: #f8f8f8;
    color: #5a5a5a;
}

.contact #appointmentForm .content {
    width: 532px;
    background-color: unset;
    padding: 32px 0 24px 0;
}

.contact .content form {
    margin: 0;
    padding: 4px 0 0 0;
}

.contact .content .field {
    float: left;
    margin-right: 10px;
    margin-bottom: 15px;
    position: relative;
}

.contact .content .field.cb {
    background-color: #fff;
    padding: 7px 9px 6px 9px;
    width: 450px;
    border: 1px solid #fff;
    border-radius: 4px;
}

.contact .content .field label {
    font-size: 12px;
    display: block;
    padding-bottom: 2px;
    padding-left: 4px;
    color: #5a5a5a;
    font-weight: normal;
    line-height: 15px;
}

.contact .content .field.cb label {
    font-size: 14px;
}

.contact .content .field.cb.errorFieldColor, #appointmentForm .errorField {
    border: 1px solid #b94a48;
}

.contact .content .field input, .contact .content .field textarea {
    padding: 11px 8px 12px 10px;
    font-size: 14px;
    line-height: normal;
    font-weight: normal;
    border: 1px solid #d4d7de;
    margin: 0;
}

.contact .content .field input::placeholder, .contact .content .field textarea::placeholder {
    color: #a7a7a7;
}

.contact .content .field input.errorFieldColor, .contact .content .field textarea.errorFieldColor {
    border: 1px solid #b94a48;
    margin-bottom: 20px;
}

.contact .content .field .errorMessage, #appointmentForm .errorMessage{
    font-size: 12px;
    font-weight: normal;
    color: #b94a48;
    padding-top: 5px;
    position: absolute;
    bottom: 0;
    line-height: 16px;
}

#appointmentForm .errorMessage {
    bottom: 10px;
}

.contact .content .field .errorMessage i, #appointmentForm .errorMessage i{
    width: 18px;
    height: 18px;
    background-repeat: no-repeat;
    background-position: 0 0;
    background-image: url("/assets/layout/company/contact/o-auth-sprite-info-error-enabled.svg");
    background-size: 18px;
    display: inline-block;
    margin-bottom: -5px;
    margin-right: 3px;
}

.contact .content .field input[type="checkbox"] {
    float: left;
    margin-right: 6px;
    margin-top: 2px;
    width: 14px;
    height: 14px;
}

.contact .content .field #name {
    width: 308px;
}

.contact .content .field #customerNumber {
    width: 152px;
}

.contact .content .field #contactPerson {
    width: 286px;
}

.contact .content .field #phone {
    width: 174px;
}

.contact .content .field #email {
    width: 358px;
}

.contact .content .field #callbackTime {
    width: 81px;
    height: 17px;
    text-align: right;
    border-radius: 4px;
}

.contact .content .field #subject {
    width: 470px;
}

.contact .content .field #message {
    width: 450px;
    min-height: 95px;
    border-radius: 4px;
}

.contact .content .field #send {
    width: 470px;
    height: 40px;
    box-sizing: border-box;
}

.contact .text {
    font-size: 14px;
    text-align: center;
    line-height: normal;
}

.contact #appointmentForm .text {
    text-align: left;
}

.contact .text.c {
    font-size: 12px;
    clear: both;
    display: block;
    font-weight: normal;
}

.contact .text p {
    line-height: 18px;
    display: block;
    margin: 0;
    padding: 0;
}

.contact #appointmentForm .text p {
    margin-bottom: 18px;
}

.contact .text small {
    font-size: 12px;
    padding-top: 12px;
    padding-bottom: 24px;
    display: block;
}

.contact .text img {
    padding: 0;
    margin: 0;
    vertical-align: bottom;
}

.contact .text img.ic {
    width: 16px;
    height: 16px;
    padding-right: 4px;
}

.contact .pictogram {
    width: 128px;
    height: 148px;
    background-repeat: no-repeat;
    background-position: 0 0;
    background-image: url("/assets/layout/company/contact/pictogram.png");
    background-size: 128px;
    margin: 40px auto 0;
    padding-bottom: 41px;
}

.supportCount {
    color: #aa5417;
    font-weight: bold;
}

#appointmentForm {
    color: #5a5a5a;
    font-size: 14px;
}

#appointmentForm .form input {
    max-height: 40px;
    line-height: 18px;
    width: 100%;
}

#appointmentForm .form ::placeholder {
    color: #a7a7a7;
}

#appointmentForm .form label {
    line-height: 16px;
    padding: 0 4px;
    font-size: 12px;
    width: 100%;
}

.bread-crumb-head {
    font-size: 20px;
    padding: 15px 10px;
    margin-bottom:14px
}

.content .submitAppointment {
    float: left;
    width: 100%;
    margin-top: 41px;
}

.dateTimeBox{
    display: flex;
}

.dateTimeBox div.divider {
    padding: 8px 24px 12px 32px;
    float: left;
    width: 212px;
    border-right: 1px solid #e6e6e6;
}

.dateTimeBox div.divider:last-child {
    padding: 8px 27px 0 24px;
    float: left;
    border-right: none;
}

.dateTimeBox div.divider .dividerHead {
    font-weight: 400;
    text-align: center;
    margin: 3px 0 18px;
}

.flatpickr-calendar {
    font-family: lato;
    width: 210px;
    color: #5a5a5a;
    background: #fff;
    -webkit-box-shadow: unset;
    box-shadow: unset;
}

.flatpickr-months .flatpickr-month {
    color: #44484f;
    height: 18px;
    margin-bottom: 16px;
}

.flatpickr-months .flatpickr-prev-month, .flatpickr-months .flatpickr-next-month {
    height: 18px;
    padding: 0;
}


.flatpickr-current-month {
    font-size: 14px;
    height: 18px;
    padding: 0;
}

.flatpickr-current-month .flatpickr-monthDropdown-months {
    color: inherit;
    height: 18px;
    line-height: 18px;
    margin: 0 0 0 16px;
    padding: 0 .5ch;
    border-radius: 4px;
    appearance: inherit;
    -webkit-appearance: inherit;
    -moz-appearance: inherit;
}

.flatpickr-current-month .numInputWrapper {
    width: 50px;
    border-radius: 4px;
}

.flatpickr-weekdays {
    width: 210px;
    margin-bottom: 10px;
}

span.flatpickr-weekday {
    font-size: 12px;
    color: #8e8e93;
    font-weight: normal;
}

.flatpickr-days {
    padding-top: 5px;
    border-top: 1px solid #e6e6e6;
    width: 210px;
}

.flatpickr-day {
    color: #5a5a5a;
    font-size: 14px;
    font-weight: normal;
    max-width: 30px;
    height: 30px;
    line-height: 30px;
    border: 0;
    border-radius: 4px;
}

.flatpickr-day:hover {
    background: #eaedf9;
    color: #4065d0;
    border: none;
}

.flatpickr-day.selected {
    color: #1f3d96;
    max-width: 28px;
    height: 28px;
    line-height: 28px;
    border: 1px solid #1f3d96;
    background-color: #ffffff;
}

.flatpickr-day.selected:hover {
    color: #4065d0;
    background: #eaedf9;
    border: 1px solid #1f3d96;
}

.flatpickr-day.selected:focus {
    color: #1f3d96;
    background: #ffffff;
    border: 1px solid #1f3d96;
}

.flatpickr-day.prevMonthDay:hover, .flatpickr-day.nextMonthDay:hover {
    color: #5a5a5a;
}

.flatpickr-day.flatpickr-disabled:hover{
    color: rgba(57, 57, 57, 0.1);
}

.flatpickr-day.selected.prevMonthDay, .flatpickr-day.selected.nextMonthDay {
    color: #5a5a5a;
    max-width: 28px;
    height: 28px;
    line-height: 28px;
    border: 1px solid #5a5a5a;
    background-color: #ffffff;
}

.dayContainer {
    width: 210px;
    min-width: 210px;
    max-width: 210px;
}

span.arrow:after {
    display: block;
    content: "";
    position: absolute;
    top: 30%;
}

span.arrow.right {
    right: 0;
    border-left: 0;
}

span.arrow.right:after {
    border-left: 4px solid #5a5a5a;
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
}

span.arrow.left {
    left: 0;
    border-right: 0;
}

span.arrow.left:after {
    border-right: 4px solid #5a5a5a;
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
}

#appointmentForm .flatpickr-prev-month {
    left: 20px;
}

#appointmentForm .flatpickr-next-month {
    right: 20px;
}

#appointmentForm span.appointmentHour {
    width: 48px;
    height: 30px;
    line-height: 30px;
    float: left;
    font-size: 14px;
    font-weight: 300;
    text-align: center;
    border-radius: 4px;
    margin: 8px 17px;
}

#appointmentForm span.appointmentHour.selected {
    color: #1f3d96;
    width: 46px;
    height: 28px;
    line-height: 28px;
    border: 1px solid #1f3d96;
    background-color: #ffffff;
}

#appointmentForm span.appointmentHour:hover {
    background: #eaedf9;
    color: #4065d0;
    border: none;
    cursor: pointer;
}

#appointmentForm span.appointmentHour.selected:hover {
    background: #eaedf9;
    border: 1px solid #1f3d96;
    color: #1f3d96;
}

#appointmentForm span.appointmentHour.exclude, #appointmentForm span.appointmentHour.exclude:hover {
    background-color: #ffffff;
    border: none;
    cursor: not-allowed;
    color: rgba(57, 57, 57, 0.1);
}

#appointmentForm span.appointmentHour:nth-child(3n) {
    margin-right: 0;
}

#appointmentForm span.appointmentHour:first-child, #appointmentForm span.appointmentHour:nth-child(3n+1) {
    margin-left: 0;
}

#appointmentForm .form div {
    position: relative;
}

.submitAppointment .widget-button.primary.outline {
    width: 219px;
    max-height: 38px;
    line-height: 18px;
    padding: 10px 0 10px 0;
    margin-left: 40px;
    float: left;
}

.submitAppointment .widget-button.primary.outline:last-child {
    margin-left: 14px;
}

.contact #appointmentForm .text.c {
    padding-top: 16px;
    text-align: center;
}

.contact #appointmentForm .text.c .errorMessage {
    position: unset;
}
