/* custom.css */
html, body {
  height: 100%;
  margin: 0;
}
p { margin: 0 auto 0.6em; }
main { margin-bottom: 0px; }
main h1:first-child, main h2:first-child { margin: 10px 0px; }

.wrapper{min-height: 100%;margin-bottom: -50px;}
.push{height: 50px;}
footer .copyright{
    height: 50px;
    background: #169045;
    padding: 15px 0;
    text-align: center;
    color: #fff;
    font-weight: bold;
    width:100%;
}
.homepage{padding-top:2rem;}

header.base-green{display:flex; justify-content:space-between; padding:10px 1rem; margin-bottom:20px; align-items:center;}
.main_content { padding: 0.5rem 2rem 1.5rem; }
.content-wrapper { display: flex; flex-direction: row; gap: 10px; }
.image-part { flex: 0 0 auto; }
.content-part { flex: 1 1 0; display: flex; flex-direction: column; }
.label_with_style { color: #111; }

#form_dateOfBirth { display:inline-flex; }
.background-info #form > div:not(:last-child) { margin-bottom: .5em; }
#background_info_form input[type="number"] { margin-bottom: 0px !important; }
#form_yearsInEducationFullTime, #form_yearsInEducationPartTime { width: 100px; }

.timer { height: 70px; width: 70px; }

.main_content.recall { padding-top: 1.5em; }

main.cognition_qa, main.textkit_content, main.result_content { margin-bottom: 20px; }
main.cognition_qa .info-form { margin-bottom: 15px; }

body.ios input[type="text"],
body.ios input[type="number"],
body.ios select, body.ios #form_dateOfBirth select {
  appearance: none;
  -webkit-appearance: none;
  background:unset;
  background-color: #fff;
  border: 1px solid #aaa;
  border-radius: 4px;
  padding: .4em 5px .4em .5em;
  font-size: 14px;
  color: #333;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
  outline: none;
  width:100%;
  max-width:200px;
}
body.ios select, body.ios #form_dateOfBirth select {
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="8" viewBox="0 0 12 8"><path d="M6 8L0 0h12L6 8z" fill="%23333"/></svg>');
  background-repeat: no-repeat;
  background-position: right 10px center;
  background-size: 12px 8px;
}
body.android input[type="text"],
body.android input[type="number"],
body.android select, body.android #form_dateOfBirth select {
  appearance: none;
  -webkit-appearance: none;
  background:unset;
  background-color: #fff;
  border: 1px solid #aaa;
  border-radius: 4px;
  padding: .5em 5px .5em .5em;
  font-size: 14px;
  color: #444;
  outline: none;
  width:100%;
  max-width:200px;
}
body.android select, body.android #form_dateOfBirth select {
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="10" height="6" viewBox="0 0 10 6"><path d="M5 6L0 0h10L5 6z" fill="%23444"/></svg>');
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 10px 6px;
}
body.android select.spinner, body.ios select.spinner, body.ios #form_dateOfBirth select, body.android #form_dateOfBirth select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-color: #fff;
  border: 1px solid #ccc;
  border-radius: 4px;
  padding: 12px 16px;
  width: 100%;
  font-size: 16px;
  color: #444;
  outline: none;
  cursor: pointer;
  position: relative;
}
/* Add a custom arrow for the dropdown */
body.android select.spinner::after, body.ios select.spinner::after, body.ios #form_dateOfBirth select:after, body.android #form_dateOfBirth select:after{
  content: '';
  position: absolute;
  top: 50%;
  right: 16px;
  width: 10px;
  height: 10px;
  background:unset;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 10 6" width="10" height="6"><path d="M0 0l5 6 5-6H0z" fill="%23444"/></svg>');
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  transform: translateY(-50%);
  pointer-events: none;
}
/* Hover and focus styles */
body.android select.spinner:hover, body.ios select.spinner:hover, body.android #form_dateOfBirth select:hover, body.ios #form_dateOfBirth select:hover
body.android select.spinner:focus, body.ios select.spinner:focus, body.android #form_dateOfBirth select:focus, body.ios #form_dateOfBirth select:focus {
  border-color: #666;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="10" height="6" viewBox="0 0 10 6"><path d="M5 6L0 0h10L5 6z" fill="%23444"/></svg>');
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 10px 6px;
}
/* Optional: Disable spinner style */
body.android select.spinner:disabled, body.ios select.spinner:disabled, body.ios #form_dateOfBirth select:disabled, body.android #form_dateOfBirth select:disabled {
  background-color: #f5f5f5;
  color: #aaa;
  border-color: #ddd;
  cursor: not-allowed;
}
body.android select:hover:focus, body.ios select:hover:focus {
  background : transparent;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="8" viewBox="0 0 12 8"><path d="M6 8L0 0h12L6 8z" fill="%23333"/></svg>');
  background-repeat: no-repeat;
  background-position: right 10px center;
  background-size: 12px 8px;
}
.spinner-wrapper::before {
  content: '';
  position: absolute;
  left: 8px;
  top: 50%;
  width: 16px;
  height: 16px;
  background-image: url('spinner-icon.svg');
  background-size: contain;
  background-repeat: no-repeat;
  transform: translateY(-50%);
  pointer-events: none;
}
tr.top_image_grid{display: flex;justify-content: space-between;}
tr.top_image_grid td{padding-bottom:10px;}
tr.top_image_grid span{
    font-weight: bold;
    color: #000;
    font-size: 16px;
    display:block;
}

.mobile_symbol{display:none !important;}
.desktop_symbol{display:block !important;}

/* body.local-de .test-inner.pcs .choices input + label  { font-size: 12px; } */

.language-selection { display:flex; justify-content: end; align-items: center; }
.language-selection select { width: auto !important; min-width: 110px; padding: 6px 24px 6px 16px !important; }

.info-form label { margin-right: 0.5em; }
.info-form input, .info-form select { margin-bottom: 0.5em; }

.noselect {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.d-none { display:none; }
.d-block { display:block; }
/*label.required::after { content: '*'; padding-left: 5px; color: #ff3a4c; }*/
.has-errors label.has-error, .has-errors .has-error label { color: #ff3a4c;  }
/*.has-errors .has-error label::before { content: '*'; padding-right: 5px;  }*/
.alert {
    position: relative;
    padding: 0.50rem 1rem;
    margin-bottom: 1rem;
    border: 1px solid transparent;
    border-top-color: transparent;
    border-right-color: transparent;
    border-bottom-color: transparent;
    border-left-color: transparent;
    border-radius: .25rem;
}
.alert-primary {
  color: #004085;
  background-color: #cce5ff;
  border-color: #b8daff;
}
.alert-info {
  color: #0c5460;
  background-color: #d1ecf1;
  border-color: #bee5eb;
}
.alert-success {
  color: #155724;
  background-color: #d4edda;
  border-color: #c3e6cb;
}
.alert-warning {
  color: #856404;
  background-color: #fff3cd;
  border-color: #ffeeba;
}
.alert-danger {
    color: #721c24;
    background-color: #f8d7da;
    border-color: #f5c6cb;
}

/*input[type="checkbox"] { accent-color: #159046; }*/
input[type="checkbox"] {
  appearance: none; -webkit-appearance: none; width: 22px; height: 22px; border: 1px solid #999; border-radius: 5px; background: #fff; display: inline-block; place-content: center; cursor: pointer;
}
input[type="checkbox"]::before { content: ""; width: 10px; height: 5px; border: 4px solid #FFF; border-top: 0; border-right: 0; transform: rotate(-45deg) scale(0); transform-origin: top; display: inline-block; padding-bottom: 1px; }
input[type="checkbox"]:checked { border-color: #159046; background: #159046; }
input[type="checkbox"]:checked::before { transform: rotate(-46deg) scale(0.9); }

/*input[type='radio'] { accent-color: #159046; }*/
label[for] { cursor: pointer; }
input[type='radio'] {
  appearance: none; -webkit-appearance: none; width: 24px; height: 24px; border: 1px solid #999; border-radius: 50%; background: #fff; display: inline-grid; place-content: center; cursor: pointer;
}
input[type='radio']::before { content: ""; width: 18px; height: 18px; border-radius: 50%; transform: scale(0); background: #159046; }
input[type='radio']:checked { border: 1px solid #159046; }
input[type='radio']:checked::before { transform: scale(1); }

.recall_options label{ padding-bottom:10px; }

.radiobut input[type="radio"] + label { padding: 4px 10px; }

.lcs-intro tr:not(:last-child) td, .pcs-intro tr:not(:last-child) td { border-bottom: none !important; }
/*.pcs .row-item { padding: 0px !important }*/
.pcs .row { padding: 0.5em; }

.pcs .right-controls, .lcs .right-controls { padding: 0 1rem 0 !important; }

.select2-container { margin-right: 5px; }
.select2-container--open { z-index: 9999; }
.select2-container--default .select2-selection--single, .select2-selection .select2-selection--single { height: 34px !important; }
.select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 32px !important;  }
.select2-container--default .select2-selection--single .select2-selection__arrow { height: 32px !important; }
.select2-container--default .select2-results__option--highlighted[aria-selected] { background-color: #159046 !important; color: #fff !important; }
.select2-container--default .select2-selection--multiple .select2-selection__choice { background-color: #159046 !important; color: #fff !important; border-color: #159046 !important; border-radius: 0px !important; }
/*.select2-container--default .select2-results__option[aria-selected="true"],
.select2-container--default .select2-results__option[aria-selected="true"]:hover { background-color: #159046 !important; color: #fff !important; }*/
.select2-dropdown .select2-search__field:focus, .select2-search--inline .select2-search__field:focus { border-color: #159046 !important; }
.select2-container--default .select2-selection--multiple { height: 34px !important; }
.select2-container--default .select2-selection--multiple .select2-selection__rendered { margin-top: 2px !important; line-height: normal !important; }
