:root {
    --sn-bg-signalrot: #ef4854;
    --sn-bg-hellblau: #d5e4f8;
    --sn-bg-perlweiss: #f4eee9;
    --sn-bg-dunkelbraun: #2b231c;
    --sn-bg-pastellorange: #ffc3a6;
    --sn-bg-pastellgruen: #c2efc2;
    --sn-bg-pastellrosa: #fadce4;
}

body {
    font-family: "Epilogue", "Helvetica", "Arial", sans-serif;
    font-size: 14px;
    line-height: 1.5em;
}

select,
select.form-control,
input,
input.form-control,
textarea,
textarea.form-control {
    width: 100%;
    padding: 12px;
    font-size: 16px;
    box-sizing: border-box;
    height: 3.5em;
    background-color: var(--sn-bg-perlweiss);
    color: var(--sn-bg-dunkelbraun);
    border: none;
    border-radius: 0;
}

select,
select.form-control {
    padding-left: 8px;
}


form select:focus,
form input[type="text"]:focus,
form input[type="text"]:focus-visible,
form input[type="text"]:focus-within,
form input[type="email"]:focus,
form input[type="date"]:focus,
form textarea:focus,
form textarea.form-control:focus {
    border: 1px solid #00000040;
    background-color: white;
    color: var(--sn-bg-dunkelbraun);
    border-radius: 0;
    outline: none;
    box-shadow: none;
}

form textarea,
form textarea.form-control {
    height: 170px;
}

/* Modern browsers */
/*.form-control::placeholder {
    color: #F4EEE9A6;
    opacity: 1;
}*/

/* Firefox 19+ */
/*.form-control::-moz-placeholder {
    color: #F4EEE9A6;
    opacity: 1;
}*/

/* Firefox 18- */
/*.form-control:-moz-placeholder {
    color: #F4EEE9A6;
    opacity: 1;
}*/

/* Internet Explorer 10+ */
/*.form-control:-ms-input-placeholder {
    color: #F4EEE9A6;
}*/

select.form-control:invalid {
    color: #878584;
    font-weight: 300;
}

select.form-control:invalid:focus {
    color: #878584;
    font-weight: 300;
}

.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3,
.col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5,
.col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8,
.col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10,
.col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {
    position: relative;
    min-height: 1px;
    padding-left: 5px;
    padding-right: 5px;
}



.row {
    margin-left: -5px;
    margin-right: -5px;
}

.error-message { color: red; }

.sn-file-upload, .sn-file-upload-multiple {
    display: inline-block;
    cursor: pointer;
    position: relative;
}

.sn-file-upload, .sn-file-upload-multiple {
    min-height: 120px;
    background-color: #F4EEE9;
    border: 1.5px dashed #000000A6;
    margin-top: -5px;
    width: 100%;
    padding-bottom: 50px;
    padding-top: 25px;
}

.sn-file-upload .sn-file-upload-label,
.sn-file-upload-multiple .sn-file-upload-label {
    display: block;
    width: 100%;
    text-align: center;
    padding-top: 50px;
    background-image: url("../img/upload-cloud.svg");
    background-repeat: no-repeat;
    background-position: center bottom 55%;
}

.file-selector-button {
    /*display: none !important;*/

}

p#upload-file-info {
    display: block !important;
    text-align: center;
    font-size: 0.9em;
}

.action-button-red {
    cursor: pointer;
    font-size: 0.9em;
    line-height: 1.0em;
    padding-right: 75px;
    padding-left: 25px;
    color: white;
    height: 45px;
    border: none;
    background-color: #ef4854;
    background-image: url("../img/feather-arrow-left-short-white.svg");
    background-size: 40px;
    background-repeat: no-repeat;
    background-position: center right 35%;
    margin-top: 15px;
    width: 100%;
    max-width: 500px;
}


.action-button-red.no-bg {
    background-image: none;
    padding-left: 0;
    padding-right: 0;
    width: 100%;
    max-width: 100%;
}

.action-button-red.no-bg span.arrow-right {
    background-color: #ef4854;
    background-image: url("../img/feather-arrow-left-short-white.svg");
    background-size: 40px;
    background-repeat: no-repeat;
    background-position: center right 35%;
    width: 50px;
    display: inline-block;
    height: 15px;
    vertical-align: middle;
}

.form_actions_centered {
    text-align: center;
}

.form-group {
    margin-bottom: 10px !important;
}

.c-sn-quiz {
    display: flex;
    margin-top: 10px;
    /*margin: 0 !important;*/
}

.sn-quiz {
    background-color: var(--sn-bg-hellblau);
    color: var(--sn-bg-dunkelbraun);
    padding: 30px 45px;
    font-size: 1.1em;
    align-self: flex-start;
}

.c-sn-submit {
    flex: 1 1 calc(50% - 16px);
    padding-left: 25px;
    padding-top: 7px;
}

.checkbox-label {
    display: inline-block;
    margin-top: 5px;
}

label,
label.checkbox-label {
    font-weight: normal;
}

div.c-sn-submit input[type="checkbox"] {
    width: 16px;
    height: 16px;
    margin-right: 12px;
}
div.c-sn-submit table tr td input[type="checkbox"] {
    /*margin-top: 3px;*/
}
div.c-sn-submit table tr td {
    vertical-align: top;
    padding-bottom: 10px;
}
.checkbox-label input[type="checkbox"],
.checkbox-label label input[type="checkbox"] {
    width: 16px;
    height: 16px;
    margin-right: 12px;
}
a {
    text-decoration: none;
    color: #ef4854;
}

div.c-sn-submit input.action-button-red {
    width: 100%;
    cursor: pointer;
}

div.error-message {
    padding-top: 3px;
}

.bodyrow {
    padding: 0;
}

h2 {
    color: #000;
    font-weight: bold;
    font-size: 2.0em;
    line-height: 1.3em;
    margin-bottom: 1.2em;
}

div.c_termin {
    padding-left: 5px;
}

div.c_termin div.error {
    padding-left: 10px;
}

div.checkbox label {
    margin-left: 20px;
}

.sn-full-width {
    width: 100%;
}

div.c-sn-submit.sn-full-width {
    padding-left: 0;
    padding-top: 25px;
}

div.c-sn-submit.sn-full-width .action-button-red {
    width: 100%;
    max-width: 100%;
    padding: 12px 0 12px 0;
    background-image: none;
}

div.c-sn-submit.sn-full-width .action-button-red span.arrow-right {
    background-color: #ef4854;
    background-image: url("../img/feather-arrow-left-short-white.svg");
    background-size: 40px;
    background-repeat: no-repeat;
    background-position: center right 35%;
    width: 50px;
    display: inline-block;
    height: 15px;
    vertical-align: middle;
}


.ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-next span {
    margin-top: 4px;
}

.ui-datepicker .ui-datepicker-prev,
.ui-datepicker .ui-datepicker-next {
    background-color: #2b231c;
    border: none;
}

.ui-datepicker .ui-datepicker-prev-hover,
.ui-datepicker .ui-datepicker-next-hover {
    background-color: #2b231c;
    border: none;
}
