/******************
    User custom CSS
    ---------------

    In this file you can add your own custom CSS
    It will be loaded last, so you can override any other property.
    Also, it will never be updated. So if you inheritate a core template and just add here some CSS, you'll still benefit of all the updates
*/

@font-face {
  font-weight: 300;
  font-family: Messina Sans;
  font-style: normal;
  src: url(../fonts/MessinaSansWeb-Light.eot);
  src: url(../fonts/MessinaSansWeb-Light.woff) format("woff"),
    url(../fonts/MessinaSansWeb-Light.woff2) format("woff2");
  font-display: swap;
}
@font-face {
  font-weight: 300;
  font-family: Messina Sans;
  font-style: italic;
  src: url(../fonts/MessinaSansWeb-Light.eot);
  src: url(../fonts/MessinaSansWeb-Light.woff) format("woff"),
    url(../fonts/MessinaSansWeb-Light.woff2) format("woff2");
  font-display: swap;
}
@font-face {
  font-weight: 500;
  font-family: Messina Sans;
  font-style: normal;
  src: url(../fonts/MessinaSansWeb-Regular.eot);
  src: url(../fonts/MessinaSansWeb-Regular.woff) format("woff"),
    url(../fonts/MessinaSansWeb-Regular.woff2) format("woff2");
  font-display: swap;
}
@font-face {
  font-weight: 500;
  font-family: Messina Sans;
  font-style: italic;
  src: url(../fonts/MessinaSansWeb-Regular.eot);
  src: url(../fonts/MessinaSansWeb-Regular.woff) format("woff"),
    url(../fonts/MessinaSansWeb-Regular.woff2) format("woff2");
  font-display: swap;
}
@font-face {
  font-weight: 400;
  font-family: Messina Sans;
  font-style: normal;
  src: url(../fonts/MessinaSansWeb-Book.eot);
  src: url(../fonts/MessinaSansWeb-Book.woff) format("woff"),
    url(../fonts/MessinaSansWeb-Book.woff2) format("woff2");
  font-display: swap;
}
@font-face {
  font-weight: 400;
  font-family: Messina Sans;
  font-style: italic;
  src: url(../fonts/MessinaSansWeb-Book.eot);
  src: url(../fonts/MessinaSansWeb-Book.woff) format("woff"),
    url(../fonts/MessinaSansWeb-Book.woff2) format("woff2");
  font-display: swap;
}
@font-face {
  font-weight: 600;
  font-family: Messina Sans;
  font-style: normal;
  src: url(../fonts/MessinaSansWeb-SemiBold.eot);
  src: url(../fonts/MessinaSansWeb-SemiBold.woff) format("woff"),
    url(../fonts/MessinaSansWeb-SemiBold.woff2) format("woff2");
  font-display: swap;
}
@font-face {
  font-weight: 600;
  font-family: Messina Sans;
  font-style: italic;
  src: url(../fonts/MessinaSansWeb-SemiBold.eot);
  src: url(../fonts/MessinaSansWeb-SemiBold.woff) format("woff"),
    url(../fonts/MessinaSansWeb-SemiBold.woff2) format("woff2");
  font-display: swap;
}
@font-face {
  font-weight: 700;
  font-family: Messina Sans;
  font-style: normal;
  src: url(../fonts/MessinaSansWeb-Bold.eot);
  src: url(../fonts/MessinaSansWeb-Bold.woff) format("woff"),
    url(../fonts/MessinaSansWeb-Bold.woff2) format("woff2");
  font-display: swap;
}
@font-face {
  font-weight: 700;
  font-family: Messina Sans;
  font-style: italic;
  src: url(../fonts/MessinaSansWeb-Bold.eot);
  src: url(../fonts/MessinaSansWeb-Bold.woff) format("woff"),
    url(../fonts/MessinaSansWeb-Bold.woff2) format("woff2");
  font-display: swap;
}
@font-face {
  font-weight: 800;
  font-family: Messina Sans;
  font-style: normal;
  src: url(../fonts/MessinaSansWeb-Black.eot);
  src: url(../fonts/MessinaSansWeb-Black.woff) format("woff"),
    url(../fonts/MessinaSansWeb-Black.woff2) format("woff2");
  font-display: swap;
}
@font-face {
  font-weight: 800;
  font-family: Messina Sans;
  font-style: italic;
  src: url(../fonts/MessinaSansWeb-Black.eot);
  src: url(../fonts/MessinaSansWeb-Black.woff) format("woff"),
    url(../fonts/MessinaSansWeb-Black.woff2) format("woff2");
  font-display: swap;
}

body.wahlomat_bootswatch {
  padding-top: 30px !important;
  background: #fff url(../files/wahlomat_background.png) repeat-x right 0;
  background-image: url("../files/wahlomat_background.png");
  background-size: auto;
  background-size: contain;
  min-height: 700px;
  font-family: Messina Sans, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, serif;
}

.wahlomat_bootswatch #survey-nav.bg-light {    
   --bs-bg-opacity: 1;
   background-color: transparent !important;
   display:none;
}

div.container-md,
.outerframe.container-md {
  max-width: 800px !important;
}

@media (min-width: 768px) {
    .wahlomat_bootswatch #survey-nav {
        max-width: 720px;
    }
}

@media (min-width: 992px) {
    .wahlomat_bootswatch #survey-nav {
        max-width: 960px;
    }
}

@media (min-width: 1200px) {
    .wahlomat_bootswatch #survey-nav {
        max-width: 1140px;
    }
}

@media (min-width: 1400px) {
    .wahlomat_bootswatch #survey-nav {
        max-width: 1320px;
    }
}

header {
  border-bottom: 1px solid #000;
  padding-bottom: 20px;
  max-width: 780px;
  width: calc(100% - 20px);
  margin: 0 auto 35px auto;
}


.wahlomat_bootswatch #survey-nav {
    width: 100%;
    padding-right: var(--bs-gutter-x, .75rem);
    padding-left: var(--bs-gutter-x, .75rem);
    margin-right: auto;
    margin-left: auto;
}


.outerframe.progressbar .top-container {
  margin-top:10px;
}

/* progress bar */
.top-container .progress {
  border: 1px solid #000;
  display: block;
  height: 35px;
  border-radius: 0;
}

.top-container .progress-bar  {
  vertical-align: center;
  background-color: #f5a623;
  display: block;
  height: 100%;
  color: #000;
  padding-top:7px;  
  font-weight: bold;
  font-size: 1rem;
}

.group-title.h3,
h1.survey-name {
  text-align:left !important;
  margin-bottom: 8px;
  font-size: 18px;
  line-height: 27px;
}

.group-title.h3 strong,
h1.survey-name strong {
  display:block;
}

.survey-description {
  text-align:left !important;
  margin-bottom: 8px;
  font-size: 18px;
  line-height: 27px;  
}



.logos a img, 
.logo-wahlomatforschung,
.logo-uniduesseldorf {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  padding: 8px;
  border-radius: 12px;


  text-decoration: none;
}

.logos a img:hover, 
.logos a img:focus {
  outline: 10px solid;
}

.logo-wahlomatforschung,
.logo-uniduesseldorf {
  outline-color: #2F6AB0;
  margin-bottom: 30px;
}

img.logo-wahlomatforschung {
  margin-top:25px;
}

img.logo-uniduesseldorf {
  margin-top:25px;
  float:right;
}

.survey-welcome:after {
  clear:both;
}

.survey-welcome h2 {
  font-size: 31px;
  font-weight: normal;
  margin-bottom: 4px;
  color: #000;
  line-height: 38px;
  margin-bottom:15px;
}

@media only screen and (max-width: 767px) { 
  .survey-welcome h2 {
    font-size: 24px;
    line-height: 29px;
  }
}

#navigator-container {
  margin-bottom: 0px;
}


#ls-button-previous.ls-move-previous-btn,
#ls-button-submit.ls-move-next-btn,
#welcome-container button.start-text {
  min-width:130px;
  background-color: #ffab02;
  color: #000;
  width:100%;
  border-radius: 0;
  text-align: center;
  padding: 15px;
  display: block;
  margin-top: 10px;
  margin-bottom: 10px;
  font-size: 31px;
  vertical-align: center;
  text-decoration: none;
}

@media only screen and (max-width: 767px) { 
  #ls-button-previous.ls-move-previous-btn,
  #ls-button-submit.ls-move-next-btn,
  #welcome-container button.start-text {
    font-size: 24px;
  }
}

#ls-button-submit.ls-move-next-btn.start-text::after {
  background: none !important;
}

#ls-button-submit.start-text {
  margin-top:20px !important;
  margin-bottom:35px !important;
}

#ls-button-submit.ls-move-next-btn {
  padding: 8px;
  font-size: 22px;
  width: 40%;
  text-align: right;
  border:none;
  background-color: transparent;
  float:right;
}

#ls-button-previous.ls-move-previous-btn {
  padding: 8px;
  font-size: 22px;
  width: 40%;
  text-align: left;
  border:none;
  background-color: transparent;
  float:left;
}


a {
  color: #000;
  text-decoration: underline;
}

a:hover,
a:focus {
  color: #3B55A1;
  text-decoration: underline;
  cursor: pointer;
  text-decoration-thickness: 2px;
}


#welcome-container button.start-text:hover,
#welcome-container button.start-text:focus {
  background-color: #ffab02;
  color: #fff;
  text-decoration: underline;
  text-decoration-thickness: 2px;
}

#ls-button-previous.ls-move-previous-btn:hover,
#ls-button-submit.ls-move-next-btn:hover,
#ls-button-previous.ls-move-previous-btn:focus,
#ls-button-submit.ls-move-next-btn:focus {
  text-decoration: underline;
  text-decoration-thickness: 2px;
}

#welcome-container button.start-text span::after {
  background: rgba(0, 0, 0, 0) url("../files/start.png") no-repeat scroll 0 0;
  background-size: auto;
  background-size: 100% auto;
  width: 47px;
  height: 47px;
  content: '';
  display: inline-block;
  position: absolute;
  margin-left: 10px;
}

@media only screen and (max-width: 767px) { 
  #welcome-container button.start-text span::after {
    width: 35px;
    height: 35px;
    content: '';
    display: inline-block;
    position: absolute;
    margin-left: 10px;
  }
  
  #ls-button-submit.start-text {
    margin-top:18px !important;
    margin-bottom:35px !important;
  }  
}


#ls-button-submit.ls-move-next-btn::after {
  background: rgba(0, 0, 0, 0) url("../files/start.png") no-repeat scroll 0 0;
  background-size: auto;
  background-size: 100% auto;
  content: '';
  display: inline-block;
  float:right;
  position: relative;
  margin-left: 10px;
  margin-top:4px;
  width: 25px;
  height: 25px;    
}


#ls-button-previous.ls-move-previous-btn::before {
  background: rgba(0, 0, 0, 0) url("../files/arrow_back.png") no-repeat scroll 0 0;
  background-size: auto;
  background-size: 100% auto;
  content: '';
  display: inline-block;
  float:left;
  position: relative;
  margin-right: 10px;
  margin-top:4px;
  width: 25px;
  height: 25px;    
}

#welcome-container button.start-text span:hover::after {
  background: rgba(0, 0, 0, 0) url("../files/start_over.png") no-repeat scroll 0 0;
  background-size: auto;
  background-size: 100% auto;
}

#ls-button-submit.ls-move-next-btn:hover::after {
  background: rgba(0, 0, 0, 0) url("../files/start.png") no-repeat scroll 0 0;
  background-size: auto;
  background-size: 80% auto;
  margin-top:7px;
}

#ls-button-previous.ls-move-previous-btn:hover::before {
  background: rgba(0, 0, 0, 0) url("../files/arrow_back.png") no-repeat scroll 0 0;
  background-size: auto;
  background-size: 80% auto;
  margin-top:7px;
}

/**
a.link-imprint {
  padding: 10px 30px 50px 10px;
  text-decoration: underline;
  font-size: 16px;
  color: #000;
}

a.link-dataprivacy {
  padding: 10px 10px 50px 30px;
  text-decoration: underline;
  font-size: 16px;
  color: #000;
}

a.link-imprint:hover,
a.link-dataprivacy:hover,
a.link-imprint:focus,
a.link-dataprivacy:focus {
  color: #3B55A1;
  cursor: pointer;
  text-decoration: underline;
  text-decoration-thickness: 2px;
}
**/

footer a {
  text-decoration: underline;
  font-size: 16px;
  color: #000;
  padding: 0 30px 0 30px;
}

footer a:hover,
footer a:focus {
  color: #3B55A1;
  cursor: pointer;
  text-decoration: underline;
  text-decoration-thickness: 2px;
}

.question-container {
  margin-top:10px;
  margin-left: 0px;
  margin-right: 0px;
  margin-bottom: 0px;
}

.ls-label-question {
  font-size: 31px !important;
  font-weight: normal;
  line-height: 38px;
}

@media only screen and (max-width: 767px) {
  .ls-label-question {
    font-size: 23px !important;
    font-weight: normal;
    line-height: 29px;
  }
  .outerframe.logos a img {
    max-height:35px;
  }
}


.question-title-container.bg-primary {
  /*background-color: #ffab02 !important;*/
  background: transparent;
  color: #000;
  --bs-bg-opacity: 0;
  padding-left: 0px;
}

.question-container {
  background: transparent;
  border: none;
}

.answer-container {
  border: none;
}

.col-responses .col-answers {
   width: 55% !important;
}

.col-responses .ls-col-odd,
.col-responses .ls-col-even {
   width: 15% !important;
}

.table-array-radio tbody tr:nth-child(odd) {
  background-color: #ccdae7;
}

.table-array-radio tbody tr:nth-child(even) {
  background-color: transparent;
}

/* dont show no answer*/
li.no-anwser-item,
col.col-no-answer,
th.noanswer-text,
td.noanswer-item {
  display:none !important;;
}

/*
.radio-label {  
  font-size: calc(var(--bs-body-font-size) * 1.2);
  line-height: calc(var(--bs-body-line-height) * 1.2);
}


.radio-item label {
    margin-left: 4px;
}

.radio-item label::before {
    transform: scale(1.2);
    margin-top:8px;
    margin-left: -24px;
}


.radio-item input[type="radio"]:checked + label::after {
  -webkit-transform: scale(1.1, 1.1);
  -ms-transform: scale(1.1, 1.1);
  -o-transform: scale(1.1, 1.1);
  transform: scale(1.1, 1.1);
  margin-top: 8px;
  margin-left: -25px;
}
*/

#welcome-container h1,
.imprint h1,
.group-title {
  border-bottom: 1px solid #000;
  margin-bottom: 35px;
  padding-bottom: 20px;
  margin-top:10px;
}

.imprint h2 {
  margin-top:22px;
}

.imprint h3 {
  margin-top:20px;
  font-size: 20px;
  font-weight: bold;
  color: #E45000;
  line-height: 24px;
}

.imprint h4 {
  margin-top:16px;
  font-size: 18px;
  font-weight: bold;
  color:  rgb(44, 62, 80);;
  line-height: 22px;
}

.imprint h5 {
  margin-top:16px;
  font-size: 16px;
  text-decoration: underline;
  color:  rgb(44, 62, 80);
  line-height: 22px;
}



.imprint a,
.imprint a span {
  text-decoration:underline;
  color: #000;
}


.imprint a:hover,
.imprint a:focus,
.imprint a:hover span,
.imprint a:hover span:focus {
  color: #3B55A1;
  display: inline-flex;
  align-items: center;
  justify-content: center;

}


#welcome-container p,
.imprint p {
  font-size: 1.1rem;
  line-height: 1.5rem;
}

#surveys-list-container {
  min-height: 300px !important;
}

.group-container.space-col {
  margin-bottom:0px;
}

/*
 * Anpassungen CK 2026-02-06: Schriftgroessen anpassen
 */
.radio-item label,
.control-label {
  font-size: 1.3rem !important;
  line-height: 1.2;
}

.radio-item label::before {
  top: 50% !important;
  transform: translateY(-50%) !important;
}

.radio-item label::after {
  top: 50% !important;
  transform: translateY(-50%) scale(0) !important;
}

.radio-item input[type="radio"]:checked + label::after {
  transform: translateY(-50%) scale(1) !important;
}

.ls-answers tbody .answertext {
  text-align: left;
  line-height: 1.9rem;
}

#error-card .card-text,
#error-card .text-danger {
  color: #000 !important;
  position: relative;
}

#error-card .card-text {
  padding-left: 28px;
}

#error-card .card-text::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23dc3545' viewBox='0 0 16 16'%3E%3Cpath d='M8.982 1.566a1.13 1.13 0 0 0-1.964 0L.165 13.233c-.457.778.091 1.767.982 1.767h13.706c.89 0 1.438-.99.982-1.767L8.982 1.566zM8 5c.535 0 .954.462.9.995l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 5.995A.905.905 0 0 1 8 5zm.002 6a1 1 0 1 1 0 2 1 1 0 0 1 0-2z'/%3E%3C/svg%3E");
}


.accessibility_list ul li {
  font-size: 1.1rem;
  font-weight: 500;
  line-height: 1.5rem;
  color: rgba(var(--bs-primary-rgb),var(--bs-text-opacity)) !important;
}

  
ol.accessibility_list > li::marker {
  font-size: 31px;
  font-weight: normal;
  color: #000;
}

