/* Colors */
:root {
    --fontXXXL:500 64px/75px "Roboto", serif;
    --fontXXL:400 48px/56px "Roboto", serif;
    --fontXL:500 36px/42px "Roboto", serif;
    --fontL:400 24px/28px "Roboto", serif;
    --fontLB:500 24px/48px "Roboto", serif;
    --fontM:400 18px/21px "Roboto", serif;
    --fontMB:500 18px/21px "Roboto", serif;
    --fontS:400 16px/19px "Roboto", serif;
    --fontXSB:500 14px/16px "Roboto", serif;
    --fontXS:400 14px/16px "Roboto", serif;
    --gradient-buhler:linear-gradient(90deg, #00324B 15%, #0C5678 35%, #009A93 45%, #E6E100 100%);
    --gradient-button:linear-gradient(90deg, #009B91 -5.5%, #64C3C8 100%);
    --gradient-v:linear-gradient(180deg, #00324B 0%, #00978E 51.35%, #E6E100 100%);
    --gradient-bg:linear-gradient(72.28deg, #00324B 0%, #00978E 61.21%, #E6E100 99.61%);
    --color-deep-blue-5: #F2F4F6;
    --color-deep-blue:#00324B;
    --color-turquoise:#009B91;
    --color-deep-blue-80:rgba(51, 91, 111, 1);
    --color-deep-blue-60:#668493;
    --color-deep-blue-20:rgba(204, 214, 219, 1);
    --color-deep-blue-10:rgba(229, 235, 237, 1);
    --color-grey-5:#f3f3f3;
    --color-mint:rgba(100, 195, 200, 1);
    --color-mint-grad:linear-gradient(90deg, #64C3C8 -5.5%, #64C3C8 100%);
    --color-white:#FFFFFF;
    --content-width:1792px;
}
* {
    box-sizing: border-box;
    -webkit-font-smoothing:antialiased;
}
body {
    margin: 0 auto;
    font:var(--fontL);
    color:var(--color-deep-blue);
}
.fontXXXL {
    font: var(--fontXXXL);
}
.fontXXL {
    font: var(--fontXXL);
}
.fontXL {
    font: var(--fontXL);
}
.fontL {
    font: var(--fontL);
}
.fontLB {
    font: var(--fontLB);
}
.fontM {
    font: var(--fontM);
}
.fontMB {
    font: var(--fontMB);
}
.fontS {
    font: var(--fontS);
}
.fontXS {
    font: var(--fontXS);
}
.fontXSB {
    font: var(--fontXSB);
}
.print-only {
    display: none;
}
h1,h2,h3,h4,h5,h6 {
    padding:0;
    margin:0;
    font-family: "Roboto", Arial, sans-serif;
}
h1 {
    padding:24px;
    font-size: 24px;
    line-height: 100%;
    font-weight: 500;
    color:var(--color-deep-blue-80);
}
.bold {
    font-weight: 500;
}
b {
    font-weight: inherit !important;
}
p  {
    color: var(--color-deep-blue-60);
    font-size: 16px;
    line-height: 24px;
}
a {
    color: var(--color-turquoise);
}
a:hover {
    color:var(--color-mint);
}
.bolder {
    font-weight: 700;
}
.lineH48 {
    line-height: 48px;
}
.successButtonHolder {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 16px;
    margin-top: 32px;
}
.successButton {
    background:var(--gradient-button);
    padding:9px 17px;
    color:white;
    border-radius: 8px;
    font-size: 14px;
    line-height: 100%;
}
.successButton:hover {
    background:var(--color-mint-grad);
    color:white;
}
.successButton.second {
    background:transparent;
    color:var(--color-deep-blue);
    border:1px solid var(--color-deep-blue-60);
    padding:8px 16px;
}
.successButton.second:hover {
    border:1px solid var(--color-turquoise);
}
/**
** Header
 */
header {
    background:var(--gradient-buhler);
    height: 80px;
}
#headerInner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 80px;
    padding:0px 24px;
}
header nav ul {
    display: flex;
    gap:16px;
    align-items: center;
    padding:0;
}
header nav ul li {
    list-style: none;
}
header nav ul li a {
    color:var(--color-white);
    text-decoration: none;
    font:var(--fontXS);
}
header nav ul li a {
    display: flex;
    align-items: center;
    gap:10px;
}
header nav ul li a {
    padding:8px 16px;
    display: flex;
    align-items: center;
    border-radius: 8px;
}
header nav ul li a:hover {
    background-color: rgba(255,255,255,0.2);
    color:white;
}
/*
** Main
 */
#main {
    box-shadow: 0px 0px 10px 0px #00324B26;
    margin:64px;
    border:1px solid var(--color-deep-blue-20);
    border-radius: 8px;
    position: relative;
}
#application {
    max-width: 610px;
    display: flex;
    justify-content: center;
    margin:0 auto;
}
/*
** Steps Navigation
 */
#stepNav {
    padding:24px;
    border-bottom:1px solid var(--color-deep-blue-10);
}
#stepNav .number {
    background-color: var(--color-grey-5);
    color:var(--color-deep-blue);
    width: 24px;
    height: 24px;
    font-size: 14px;
    font-weight: 500;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    padding:1px 0 0 0;
}
#stepNav ul li.active .number {
    color:white;
    background-color: var(--color-turquoise);
}
#stepNav ul {
    list-style: none;
    display: flex;
    padding: 0;
    margin: 0;
    align-items: center;
}

#stepNav ul li {
    display: flex;
    font-size: 14px;
    gap:8px;
    font-weight: 500;
    align-items: center;
    justify-content: space-between;
}
#stepNav ul li .stepHead {
    display: flex;
    gap: 5px;
    font-size: 14px;
    font-weight: 500;
    align-items: center;
    white-space: nowrap; /* Verhindert Umbruch */
}

.step-line {
    flex: 1; /* Nimmt den verfügbaren Platz ein */
    height: 1px;
    background-color: #ccc;
    margin: 0 20px; /* Abstand zu den Steps */
}

/*
** Form Sections
 */
.sectionTitle {
    width: 100%;
    border-bottom: 1px solid var(--color-deep-blue-10);
    margin-top:64px;
    padding-bottom:16px;
    margin-bottom:16px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.sectionTitle .editButton {
    cursor: pointer;
    padding:6px;
    border-radius: 8px;
}
.sectionTitle .editButton:hover {
    background-color:rgb(242, 244, 246);
}
.sectionTitle.first {
    margin-top:32px;
}
.sectionTitle h2 {
    color: var(--color-deep-blue-80);
    font-size:18px;
    font-weight: 700;
}

.login {
    padding:40px 20px;
}

.login .ui.primary.button {
    color: var(--white);
    display: inline-block;
}

.pointer {
    cursor: pointer !important;
}


/**
 * Form.
 */
.ui.form {
    font-size: inherit;
    margin: 0;
    width: 100%;
}
.ui.selection.dropdown,
.ui.form input:not([type]),
.ui.form input[type=date],
.ui.form input[type=datetime-local],
.ui.form input[type=email],
.ui.form input[type=file],
.ui.form input[type=number],
.ui.form input[type=password],
.ui.form input[type=search],
.ui.form input[type=tel],
.ui.form input[type=text],
.ui.form input[type=time],
.ui.form input[type=url],
.ui.form textarea,
.ui.form input:not([type]):focus,
.ui.form input[type=date]:focus,
.ui.form input[type=datetime-local]:focus,
.ui.form input[type=email]:focus,
.ui.form input[type=file]:focus,
.ui.form input[type=number]:focus,
.ui.form input[type=password]:focus,
.ui.form input[type=search]:focus,
.ui.form input[type=tel]:focus,
.ui.form input[type=text]:focus,
.ui.form input[type=time]:focus,
.ui.form input[type=url]:focus,
.ui.form .field.error input[type=email]:focus, .ui.form .field.error input:not([type]), .ui.form .field.error input[type="date"], .ui.form .field.error input[type="datetime-local"], .ui.form .field.error input[type="email"], .ui.form .field.error input[type="file"], .ui.form .field.error input[type="number"], .ui.form .field.error input[type="password"], .ui.form .field.error input[type="search"], .ui.form .field.error input[type="tel"], .ui.form .field.error input[type="text"], .ui.form .field.error input[type="time"], .ui.form .field.error input[type="url"], .ui.form .field.error select, .ui.form .field.error textarea, .ui.form .fields.error .field input:not([type]), .ui.form .fields.error .field input[type="date"], .ui.form .fields.error .field input[type="datetime-local"], .ui.form .fields.error .field input[type="email"], .ui.form .fields.error .field input[type="file"], .ui.form .fields.error .field input[type="number"], .ui.form .fields.error .field input[type="password"], .ui.form .fields.error .field input[type="search"], .ui.form .fields.error .field input[type="tel"], .ui.form .fields.error .field input[type="text"], .ui.form .fields.error .field input[type="time"], .ui.form .fields.error .field input[type="url"], .ui.form .fields.error .field select, .ui.form .fields.error .field textarea
{
    font-family: "Roboto" , Arial, Helvetica, sans-serif !important;
    border: solid 1px var(--color-deep-blue-20) !important;
    color: var(--color-deep-blue) !important;
    background-color: var(--color-deep-blue-10) !important;
    border-radius: 8px !important;
    font-size: 14px;
    outline:0  !important;
    line-height: 100%;
    box-shadow: none;
    padding: 12px;
    height: 40px;
}
.ui.form textarea {
    line-height: 140%;
}
.ui.form .fileInputArea input[type=text], .ui.form .fileInputArea input[type=text]:focus {
    background:transparent !important;
    border:0 !important;
}

.ui.form .field.error input:not([type]), .ui.form .field.error input[type="date"], .ui.form .field.error input[type="datetime-local"], .ui.form .field.error input[type="email"], .ui.form .field.error input[type="file"], .ui.form .field.error input[type="number"], .ui.form .field.error input[type="password"], .ui.form .field.error input[type="search"], .ui.form .field.error input[type="tel"], .ui.form .field.error input[type="text"], .ui.form .field.error input[type="time"], .ui.form .field.error input[type="url"], .ui.form .field.error select, .ui.form .field.error textarea, .ui.form .fields.error .field input:not([type]), .ui.form .fields.error .field input[type="date"], .ui.form .fields.error .field input[type="datetime-local"], .ui.form .fields.error .field input[type="email"], .ui.form .fields.error .field input[type="file"], .ui.form .fields.error .field input[type="number"], .ui.form .fields.error .field input[type="password"], .ui.form .fields.error .field input[type="search"], .ui.form .fields.error .field input[type="tel"], .ui.form .fields.error .field input[type="text"], .ui.form .fields.error .field input[type="time"], .ui.form .fields.error .field input[type="url"], .ui.form .fields.error .field select, .ui.form .fields.error .field textarea {
    border-color: #E6003C !important;
}

.ui.form input[type=file] {
    border: 0;
    padding: 0;
}

fieldset {
    padding: 0 !important;
    border: 0 !important;
}

.ui.form .required.field > .checkbox:after,
.ui.form .required.field > label.no:after,
.ui.form .required.fields.grouped > label.no:after,
.ui.form .required.fields:not(.grouped) > .field > .checkbox:after,
.ui.form .required.fields:not(.grouped) > .field > label.no:after {
    display: none;
}

.ui.form .required.field > .checkbox::after, .ui.form .required.field > label::after,
.ui.form .required.fields.grouped > label::after,
.ui.form .required.fields:not(.grouped) > .field > .checkbox::after,
.ui.form .required.fields:not(.grouped) > .field > label::after,
.ui.form .required.field label.floating-label::after {
    margin: -.2em 0 0 .2em;
    content: '';
}

.default.text {
    display: none !important;
}

.ui.dropdown>.dropdown.icon:before {
    content: "";
}

.ui.form .field>.selection.dropdown>.dropdown.icon {
    content:"";
    width:12px;
    height:6.5px;
    background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11.6673 1.59935L6.00065 7.26602L0.333984 1.59935L1.26732 0.666016L6.00065 5.39935L10.734 0.666016L11.6673 1.59935Z' fill='%23668493'/%3E%3C/svg%3E");
    background-size: 14px 8px;
    background-repeat: no-repeat;
    position: absolute;
    top: 25px;
    right: 24px;
    padding: 0;
}

.ui.form .fields {
    margin:0 0 16px 0;
}
.field {
    position: relative;
    width: 100%;
}

.ui.form .field>label, legend {
    color:var(--color-deep-blue-80);
    font-size: 14px;
    line-height:100%;
    font-weight: normal;
    padding:8px 0;
    margin-bottom: 0;
}

.ui.dropdown .menu>.item {
    color:var(--color-deep-blue-80);
    font-weight: 400;
    font-size: 14px;
    border:0;
}
.ui.dropdown .menu .active.item {
    font-weight: 400 !important;
}
.ui.dropdown .menu>.item:hover,.ui.dropdown .menu .selected.item, .ui.dropdown.selected
{
    color:var(--color-deep-blue-80);
    background-color:#F2F4F6;
}
.ui.form .required.field>.checkbox:after, .ui.form .required.field>label:after, .ui.form .required.fields.grouped>label:after, .ui.form .required.fields:not(.grouped)>.field>.checkbox:after, .ui.form .required.fields:not(.grouped)>.field>label:after {
    color: #BDBDBD;
}
.ui.selection.active.dropdown .menu {
    border:1px solid #00000010;
    border-radius:0px 0px 8px 8px;
    box-shadow: 0 16px 32px #00000008;

}
.ui.selection.active.dropdown.upward .menu {
    border:1px solid #00000010;
    border-radius:8px 8px 0px 0px;
    box-shadow: 0 16px 32px #00000008;

}
input:focus {
    border-color:#000;
}

.ui.form .fields>.field {
    padding: 0;
    position:relative;
}

.ui.form .fields.two, .ui.form .field.one {
    display: flex;
    flex-direction: row;
    gap: 12px;
    padding: 0;
}

.ui.form .field>label.label-doc, .ui.checkbox label, .ui.checkbox+label {
    color: #202020;
    margin-bottom: 0;
    font-size: 1rem;
}

.ui.checkbox label, .ui.checkbox+label {
    padding-left: 34px !important;
}

.ui.form>p {
    font-size: 15px;
    margin-bottom:30px;
}
.ui.form .two.fields>.field, .ui.form .two.fields>.fields {
    width: calc(50% - 6px);
}
.ui.label, .ui.labeled.input>.label {
    background: #F4F4F7;
    color: #6F6F6F;
    font-size: 17px;
    line-height: 24px;
    font-weight: normal;
    border-radius: 10px !important;
}

.ui.labeled.input>.label:not(.corner) {
    padding-top:8px;
    padding-bottom:5px;
}

.ui.default.dropdown:not(.button)>.text, .ui.dropdown:not(.button)>.default.text {
    color: #BDBDBD;
}

#calendar input {
    background: url(../images/calendar.svg) no-repeat;
    background-size: 16px;
    background-position: right 20px center;
}
.ui.action.input:not([class*="left action"]) > input:focus {
    border-right-color: #000000 !important;
}

.ui.action.input:not([class*="left action"]) > input {
    border-right-color: #B5B9BC !important;
}

.ui.action.input:not([class*="left action"])>.button:last-child, .ui.action.input:not([class*="left action"])>.buttons:last-child>.button, .ui.action.input:not([class*="left action"])>.dropdown:last-child {
    position: absolute;
    top:0;
    left:0;
    height: 64px;
    width:205px;
    background-color: var(--primaryColor);
    color: var(--white);
    display: block;
    border-radius: 8px;
    display: none;
}

i.icon {
    width:auto;
}

i.icon.cloud.upload:before {
    font-family: "Roboto" , Arial, Helvetica, sans-serif;
    content: "Dateien ausw hlen";
    font-size: 17px;
    line-height: 28px;
    width: auto;
}

.action.input input[type=text] {
    position: absolute;
    height:1px;
    bottom:0px;
    right:0px;
    width:calc(100% - 215px);
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border-bottom: solid 1px #E30613;
    height: 64px;
    background-color: transparent;
    border-radius: 0;
}

.ui.action.input:not([class*="left action"])>input, .ui.action.input:not([class*="left action"])>input:focus, .ui.action.input:not([class*="left action"])>input:active {
    font-family: "Roboto" , Arial, Helvetica, sans-serif;
    height: 64px;
    border: solid 1px #B5B9BC;
    background: var(--white);
    border-radius: 8px;
    font-size: 17px;
    line-height: 24px;
    box-shadow:none;
    width: 100% !important;

}

.ui.action.input:not([class*="left action"]) > input {
    border-top-right-radius: 8px !important;
    border-bottom-right-radius: 8px !important;
}

.ui.radio.checkbox {
    margin-right: 24px;
}

.ui.checkbox .box:before, .ui.checkbox label {
    line-height: 25px;
}
.ui.checkbox .box:before, .ui.checkbox label:before, .ui.checkbox input[type=checkbox], .ui.checkbox input[type=radio] {
    width:28px;
    height:28px;
    border: 1px solid var(--color-deep-blue-20) !important;
    border-radius: 4px;
    background-color:var(--color-deep-blue-10) !important;
}
.ui.checkbox input:checked~.box:after, .ui.checkbox input:checked~label:after {
    width:28px;
    height:28px;
}
.ui.checkbox .box:after, .ui.checkbox label:after {
    font-size: 16px;
}
.ui.checkbox input:checked~.box:after, .ui.checkbox input:checked~label:after {
    color:#000 !important;
}

.ui.radio.checkbox .box::before, .ui.radio.checkbox label::before {
    width: 28px;
    height: 28px;
}

.ui.radio.checkbox input:checked ~ label::after, .ui.radio.checkbox input:focus:checked ~ label::after {
    background-color: #fff;
    outline: 16px solid var(--color-mint);
    border:2px solid var(--color-mint);
}
.ui.checkbox input:checked, .ui.checkbox input:checked ~label:before{
    background-color:var(--color-mint) !important;
}
.ui.checkbox input:checked~.box:after, .ui.checkbox input:checked~label:after {
    content:url('data:image/svg+xml,%3Csvg%20width%3D%2216%22%20height%3D%2212%22%20viewBox%3D%220%200%2016%2012%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M5.73372%2012.0002L5.26706%2011.5335L0.400391%206.73353L1.33372%205.80019L5.73372%2010.1335L14.8671%200.200195L15.8004%201.13353L5.73372%2012.0002Z%22%20fill%3D%22white%22%2F%3E%3C%2Fsvg%3E');
    padding-top:7px;
}
/**
 * Buttons.
 */
.ui.primary.button, .ui.primary.button:active, .ui.primary.button:visited, .ui.primary.button:focus {
    font-family: "Roboto" , Arial, Helvetica, sans-serif;
    font-size: 16px;
    line-height: 20px;
    font-weight: 600;
    background: var(--primaryColor);
    border: 0;
    border-radius: 35px;
    color: var(--white);
    display: block;
    padding: 12px 24px;
    vertical-align: middle;
    text-align: center;
    text-decoration: none;
    transition-duration: .15s;
    transition-property: all;
    transition-timing-function: cubic-bezier(.4,0,.2,1);
    cursor: pointer;
    box-sizing: border-box;
}

.ui.primary.button:hover {
    color: var(--white);
    border: 0;
    background: var(--primaryColor);
    outline-color: var(--errorLightRed);
    outline-style: solid;
    outline-width: 4px;
}

.ui.primary.button:focus-visible {
    outline-color: var(--errorLightRed);
    outline-style: solid;
    outline-width: 4px;
}

.ui.form .field .prompt.label {
    border: 0 !important;
    color: #E6003C !important;
    padding: 0 !important;
    font-size: 0.875rem !important;
    line-height: 1.5rem !important;
    margin-top: 0px !important;
}
.ui.form .field.salutationDiv .prompt.label {
    margin-top:10px !important;
}
.field.error .prompt, .field.error2 .prompt {
    display: block !important;
}

.error2 input, .error2 input:focus {
    border-color: var(--primaryColor) !important;
    color: var(--primaryColor) !important;
    background: var(--white) !important;
    outline: 4px solid var(--errorLightRed) !important;
}

.validationFlex {
    display: flex;
    gap: 12px;
}

.validationBg {
    display: flex !important;
    align-items: center;
}

.ui.form .field .prompt.label:before {
    display: none !important;
}

input:focus, .ui.selection.active.dropdown:hover, textarea:focus, .ui.selection.active.dropdown, .ui.selection.active.dropdown:hover .menu  {
    border-color:#000 !important;
}
/*
** Files
 */
.files input {
    border:0 !important;
    cursor: pointer;
    height: 48px !important;
    padding-left:52px !important;
}
.files .action.input {
    display: flex;
    flex-direction: column;
}
.label-doc {
    color:var(--color-turquoise);
    font-size: 14px;
    font-weight: 500;
    padding:12px 16px;
    display: flex;
    align-items: center;
    gap:8px;
    cursor: pointer;
    width: fit-content;
    border-radius: 8px;
}
.action.input input[type=text] {
    position: relative;
}
.fileInputArea {
    align-items: center;
    justify-content: space-between;
    padding-right: 16px;
    position: relative;
    display: none;
}
.delete {
    display: none;
    cursor: pointer;
}
.files input:focus {
    border:0 !important;
    background:transparent !important;
    height: 48px !important;
}
.fileInputArea.hasFile {
    border-right: 1px solid #E5EBED;
    border-top: 1px solid #E5EBED;
    border-bottom: 1px solid #E5EBED;
    box-shadow: inset 4px 0 0 0 #08A567;
    display: flex;
}
.fileInputArea .checkMarkIcon {
    position: absolute;
    left:13px;
    display: none;
}
.fileInputArea.hasFile .checkMarkIcon {
    display: block;
    z-index: 9;
}
/* DSG */

.error > .dsgContainer {
    border: 1px solid var(--primaryColor);
    outline: 4px solid var(--errorLightRed);
}
..dsgContainer {
    height: 28px;
}
.ui.form .field.error .checkbox:not(.toggle):not(.slider) .box, .ui.form .field.error .checkbox:not(.toggle):not(.slider) label, .ui.form .fields.error .field .checkbox:not(.toggle):not(.slider) .box, .ui.form .fields.error .field .checkbox:not(.toggle):not(.slider) label {
    color: #202020;
}

.ui.checkbox label:hover, .ui.checkbox + label:hover,
.ui.checkbox input:active ~ label,
.ui.checkbox input:focus ~ label {
    color: #202020;
}

.dsglink {
    color: #00789F;
}

.dsglink:hover {
    color: #00789F;
    text-decoration: underline;
}

/* Floating label */
.floating-label {
    position: absolute;
    top: 1.4rem;
    left: 12px;
    pointer-events: none;
    transition: transform 0.2s ease-out, top 0.2s ease-out;
    transform-origin: 0 0;
    color: #6F6F6F !important;
    font-weight: 400 !important;
    font-size: 16px !important;
    line-height: 24px !important;
    margin: 0 !important;
}

.field input:not(:placeholder-shown) + .floating-label,
.field .floating-label.fileUploaded,
.field input:focus + .floating-label,
.field textarea:not(:placeholder-shown) + .floating-label,
.field textarea:focus + .floating-label,
.items-selected + .floating-label,
.items-selected:focus + .floating-label,
.ui-multiselect.ui-state-active + .floating-label,
.ui-multiselect.ui-state-active:focus + .floating-label {
    transform: translateY(5%) scale(0.875);
    top: 0.5rem;
    left: 12px;
    background-color: transparent;
}

.items-selected + .floating-label,
.items-selected:focus + .floating-label {
    transition: none;
}

.ui.dropdown.active + .floating-label {
    z-index: 20;
}

.dropdown.visible + .floating-label {
    z-index: 100;
}

/**
 * Parsley
 */
.field.error input,
.field.error select,
.field.error textarea,
.parsley-error {
    border: 1px solid var(--primaryColor) !important;
    color: var(--primaryColor);
    background: transparent;
    outline: 4px solid var(--errorLightRed);
}
.field.error input {
    background-image: url("../images/error.svg") !important;
    background-size: 15px !important;
    background-position: right 10px center !important;
    background-repeat: no-repeat !important;
}
.ui.form .field.error .ui.dropdown {
    border-color: red !important;
}
.ui.form .field.error .ui.dropdown:hover {
    border-color: red !important;
}
.ui.form .field.error .ui.dropdown.search {
    border: 0 !important;
}
.ui.form .field.error .ui.dropdown .search {
    border-color: red !important;
}
.parsley-errors-list {
    color: #f00;
    list-style: none;
    padding: 0;
    font-size: 14px;
    margin: 5px 0 10px 0;
}
/* Results - Success - Error */
.result-message-container.error {
    background-color: var(--errorLightRed);
    padding: 20px;
}

.infoSuccessTitle {
    display: none;
    position: relative;
}

.result-message-container.info .infoSuccessTitle {
    width: 100%;
    text-align: center;
    display: flex !important;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    color:#00324B;
    height: 70vh;
}

.result-message-container.info .msgMessage, .result-message-container.success .msgMessage {
    display: none !important;
}

.infoSuccessTitle span, .result-message-container {
    display: block;
    font-size: 14px;
    line-height: 22px;
    color: #00324B;
}
.infoSuccessTitle img {
    border-radius: 50%;
    width: 230px;
    height: 230px;
    margin-bottom: 32px;
}
.infoSuccessTitle .successTitle {
    font-weight: 500;
    font-size: 24px;
    margin-bottom: 16px;
}

.successSvgContainer {
    position: absolute;
    top: 24px;
    left: -26px;
    background-color: var(--white);
    padding: 16px;
    border-radius: 32px;
    width: 52px;
    height: 52px;
    box-shadow: 0px 0px 24px 0px #0000000D;

}

/**
 * Print.
 */
.printable-only {
    display: block !important;
}
.ui.selection.dropdown:focus {
    border-color:inherit;
}

@media only screen and (max-width: 767px) {
    .container {
        padding-left: 20px;
        padding-right: 20px;
    }
    .ui.primary.button {
        width:100%;
    }
    .empty {
        display: none!important;
    }
    i.icon.cloud.upload:before {
        font-size: 15px;
        line-height: 17px;
    }
}

@media only screen and (max-width: 600px) {
    .validationFlex {
        flex-direction: column;
    }
}

/* Modal */
.modal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100%;
    z-index: 200;
    background-color: rgba(20, 20, 50, 0.2);
    overflow: hidden;
    transition: opacity 0.3s ease;
}

.modal-content {
    position: relative;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: #fefefe;
    padding: 2.5rem;
    border-radius: 6px;
    width: calc(100% - 3rem);
    max-width: 584px;
    box-shadow: 0 4px 128px 0 rgba(10, 10, 130, 0.1);
    z-index: 220;
    overflow-y: scroll;
    max-height: 90vh;
}

.modal-content h3 {
    margin-top: 0;
}

.close-button {
    position: absolute;
    top: 1rem;
    right: 1rem;
    cursor: pointer;
}

.formstep {
    display: none;
    padding-bottom: 32px;
}
.formstep.active {
    display: block;
}
button {
    font:var(--fontXSB);
    font-weight: normal;
}
.button {
    font:var(--fontXSB);
    background:var(--color-white);
    padding:12px 16px;
    border-radius: 8px;
    color:var(--color-deep-blue);
}
.stepButton {
    background:var(--gradient-button);
    color:var(--color-white);
    transition:background 0.3s ease-in-out;
    display: none;
    align-items: center;
    gap:10px;
    cursor: pointer;
}
.stepButton.active {
    display: flex;
}
.formFooter {
    background-color:var(--color-grey-5);
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 72px;
    padding:0 24px;
    border-radius: 0 0 8px 8px;
    flex-direction: row-reverse;
}
.submitbutton {
    border:0;
}
.backbutton {
    background:transparent;
    color:var(--color-turquoise);
}
/*
** Footer
 */
footer {
    background-color:var(--color-deep-blue);
    color:#CCD6DB;
    font:var(--fontXS);
    margin-bottom: 136px;
    max-width: 100%;
}
footer .pageInner {
    margin:0 64px;
}
footer a {
    color:var(--color-turquoise);
    font:var(--fontXS);
    text-decoration: underline;
}
footer a:hover {
    color:var(--color-mint);
}
footer .pageInner {
    display: flex;
    align-items: center;
    height: 74px;
    justify-content: space-between;
}
footer h6 {
    color:var(--color-deep-blue-60);
}
#footerSocial {
    display: flex;
    gap:16px;
    align-items: center;
}
#footerSocial .fontMB {
    color:var(--color-deep-blue-60);
}
#footerSocialIcons {
    display: flex;
    gap:8px;
}
.footerSocialIcon {
    height: 24px;
}
#footerLinks {
    display: flex;
    gap:34px;
}
/*
** Last Step
 */
.lastStep .removeOnLastStep {
    display: none;
}
.ui.form textarea:focus,.ui.form input:focus {
    outline:0;
    color:var(--color-deep-blue);
    border:solid 1px var(--color-deep-blue-20) !important;
    background:var(--color-deep-blue-10) !important;
    border-radius: 8px !important;
}
.ui.form .field>.selection.dropdown,.menu.transition.visible {
    border:solid 1px var(--color-deep-blue-20) !important;
}
.ui.form .field>.selection.dropdown:hover,.menu.transition.visible:hover,.menu.transition.visible:focus, input:focus, .ui.selection.active.dropdown:hover, textarea:focus, .ui.selection.active.dropdown, .ui.selection.active.dropdown:hover .menu {
    border:solid 1px var(--color-deep-blue-20) !important;
}
.lastStep .ui.selection.dropdown,
.lastStep .ui.form input:not([type]),
.lastStep .ui.form input[type=date],
.lastStep .ui.form input[type=datetime-local],
.lastStep .ui.form input[type=email],
.lastStep .ui.form input[type=file],
.lastStep .ui.form input[type=number],
.lastStep .ui.form input[type=password],
.lastStep .ui.form input[type=search],
.lastStep .ui.form input[type=tel],
.lastStep .ui.form input[type=text],
.lastStep .ui.form input[type=time],
.lastStep .ui.form input[type=url],
.lastStep .ui.form textarea,
.lastStep .ui.form input:not([type]):focus,
.lastStep .ui.form input[type=date]:focus,
.lastStep .ui.form input[type=datetime-local]:focus,
.lastStep .ui.form input[type=email]:focus,
.lastStep .ui.form input[type=file]:focus,
.lastStep .ui.form input[type=number]:focus,
.lastStep .ui.form input[type=password]:focus,
.lastStep .ui.form input[type=search]:focus,
.lastStep .ui.form input[type=tel]:focus,
.lastStep .ui.form input[type=time]:focus,
.lastStep .ui.form input[type=url]:focus,
.lastStep .ui.form textarea,
.lastStep .ui.form .field>.selection.dropdown {
    outline:none!important;
    border-top:0 !important;
    border-left:0 !important;
    border-right: 0 !important;
    background-color: white !important;
    border-radius: 0 !important;
    color:#00324B !important;
    border-color:#CCD6DB !important;
    opacity: 1 !important;
}
.lastStep i.dropdown.icon.disabled {
    display: none;
}
#formstep2 h4 {
    color: var(--color-deep-blue-80);
    font-size: 14px;
    line-height: 120%;
    font-weight: normal;
    padding: 8px 0;
    margin-bottom: 0;
}

.ui.form textarea, .ui.form .field.error textarea {
    height: 168px;
}
.ui.form input.search, .ui.form input.search:focus {
    border:0 !important;
}
.fileInputArea input.text:focus {
    background:transparent !important;
    border-radius: 0 !important;
    border:0 !important;
}
.fileInputArea input.text {
    width: 100% !important;
    cursor: auto !important;
}
.label-doc:hover {
    background-color:rgb(242, 244, 246);
}

.stepButton:hover {
    background: var(--color-mint-grad);
}
.stepButton.backButton:hover {
    background: rgb(242, 244, 246);
}
.editButton {
    display: none;
}
.lastStep .editButton {
    display: block;
}
.lastStep .files {
    pointer-events: none;
}
.lastStep .label-doc, .lastStep svg.delete {
    display: none;
}
.ui.form {
    position: inherit;
}
button.stepButton.button.submitbutton.active {
    position: absolute;
    right: 24px;
    bottom: 16px;
}
.lastStep .formFooter {
    flex-direction: row;
}
.lastStep input:not(#disclaimerAcknowledge), .lastStep select, .lastStep textarea, .lastStep .dropdown, .lastStep #salutation {
    pointer-events: none;
}
.lastStep #formstep2 p {
    display: none;
}
.lastStep .fileInputArea.hasFile {
    border-left:4px solid #08A567;
}
p.usOnly {
    font-size: 14px;
    line-height: 24px;
    color:#00324B;
}
p.usOnly b {
    font-weight: 500 !important;
}
p.usOnly a {
    text-decoration: underline;
}
ul.usOnly {
    margin-top: 0;
    margin-left: 0;
    padding-left: 20px;
    padding-top: 0px;
}
ul.usOnly li {
    font-size: 14px;
    line-height: 24px;
    color:#00324B;
}
.usOnly {
    display: none !important;
}
#USA .usOnly {
    display: block !important;
}
.ui.form .field.error .input, .ui.form .field.error label, .ui.form .fields.error .field .input, .ui.form .fields.error .field label {
    color:var(--color-deep-blue-80);
}
.ui.form .files .field.error label {
    color:var(--color-turquoise);
}
.stepNr {
    display: none;
}
.charCounter {
    font-size: 12px;
    color:var(--color-deep-blue-60);
    line-height: 200%;
}
.charCounter.error {
    color: #E6003C;
}

.lastStep .ui.form .field>.selection.dropdown .search {
    border-bottom:1px solid var(--color-deep-blue-20) !important;
}

.language-switcher-container {
    position: relative;
    display: inline-block;
    display: none !important;
}

.language-button {
    position: relative;
    background: transparent;
    border: none;
    cursor: pointer;
    padding-right: 20px;
    color: #fff;
    font-size: 16px;
    line-height: 19px;
    display: flex;
    align-items: center;
    gap: 10px;
}
.language-button:hover {
    background-color: #fff3;
}
.language-button {
    padding: 8px 20px 8px 16px;
    border-radius: 8px;
}
.language-code {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.arrow-icon {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.3s ease;
    fill: white;
    color: white;
}

.language-button[aria-expanded="true"] {
    background-color: #fff3;
}

.language-dropdown {
    position: absolute;
    z-index: 10;
    background: white;
    border-radius: 12px;
    border: 1px solid #e0e0e0;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
    margin-top: 11px;
    overflow: hidden;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.1s ease-in, visibility 0.1s ease-in;
    left: 50%;
    transform: translateX(-50%);
    min-width: 110px;
}

.language-dropdown.open {
    opacity: 1;
    visibility: visible;
}

.language-list {
    padding: 15px 0 0 0;
}

.language-option {
    display: block;
    cursor: pointer;
    padding: 10px 12px;
    font-size: 16px;
    color: #335b6f;
    text-decoration: none;
    transition: background-color 0.2s ease;
    margin-bottom: 0;
    border-radius: 0;
    letter-spacing: .5px;
    line-height: 24px;

}

.language-option:hover {
    background-color: #f0f0f0;
    font-weight: bold;
    color: #335b6f;
}

.language-option.selected {
    background-color: #64c3c826;
    color:#009b91;
}

.language-option:last-child {
    margin-bottom: 0;
    padding-bottom: 15px;
}

@media only screen and (max-width: 1324px) {
    footer .pageInner {
        height: auto;
        flex-direction: column;
        gap:32px;
        padding:24px 0;
    }
    #filterElements {
        display: none;
    }
    #filterElements.visible {
        display: flex;
    }
}
@media only screen and (max-width: 1024px) {
    nav ul li {
        display: none;
    }
    nav ul li:first-child {
        display: block;
    }
    #main {
        margin:0;
    }
    .step-line {
        display: none;
    }
    #stepNav ul li {
        display: none;
    }
    #stepNav ul li.active {
        display: flex;
        width: 100%;
    }
    #application {
        padding:0 24px;
    }
    .stepNr {
        display: block;
    }

}
@media only screen and (max-width: 968px) {
    #footerSocial,#footerLinks {
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }
    #footerLinks {
        gap:16px;
    }
}