/******************
    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
*/

  .table-bordered > thead > tr > th {
    border: 0px;
  }
  .table-bordered > thead > tr > td {
    border: 0px;
  }
  
/*
---------------------------
From here Nico's changes
---------------------------
*/

body
{
background: linear-gradient(rgba(245, 245, 245, 0.95), rgba(245, 245, 245, 0.95)), url(../files/body-bg.jpg);
background-attachment: fixed;
background-position: bottom center;
background-repeat: no-repeat;
background-size: cover;
font-size: 17px;
}

#main-col
{
 margin-top: 10px;
}

.space-col
{
margin-top: 15px;
margin-bottom: 15px;
}

.top-container .top-content
{
padding-top: 15px;
margin-bottom: 0px;
z-index: 100000000;
}

.bg-light
{
--bs-bg-opacity: 1;
background-color: #ffffff !important;
}

.border-bottom
{
border-bottom: 0px !important;
box-shadow: 0px 15px 10px -15px #111;
top: 0px;
}

.progress-bar
{
background-color: var(--main-color);
font-weight: bold;
}

.survey-welcome
{
color: #212529 !important;
background: #ffffff;
padding: 20px;
font-weight: normal;
font-size: 17px;
}

.privacy-block
{
background: #ffffff;
padding: 20px;
font-size: 15px;
}

.limit-text-window
{
max-height: 25vh;
padding: 10px 0 10px 0;
overflow: auto;
border-top: 1px dotted #bebebe;
border-bottom: 1px dotted #bebebe;
}

label[for="datasecurity_accepted"] {
  padding-top: 15px;
}

#datasecurity_accepted.checkbox-item label::before,
#datasecurity_accepted.form-check-input::before
{
border: none;
background-color: transparent;
transition: color 0s ease-in;
font-family: 'FontAwesome';
visibility: visible;
content: "\f096";
font-size: 190%;
color: #000;
top: 0px;
text-shadow: none;
}

#datasecurity_accepted.form-check-input
{
color-adjust: exact;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
background-position: 0%;
background-repeat: no-repeat;
background-size: contain;
background: rgba(255, 255, 255, 1);
border: 0px;;
height: 1em;
margin-top: 11px;
margin-right: 5px;
-webkit-print-color-adjust: exact;
vertical-align: top;
width: 0px;
opacity: 1;
}

#datasecurity_accepted.form-check-input[type="checkbox"]
{
  opacity: 1;
}

#datasecurity_accepted.form-check-input[type="checkbox"]:checked 
{
  opacity: 0;
}

@media only screen and (max-width: 710px)
{
label[for="datasecurity_accepted"]
{
padding-top: 0px;
margin-top: -10px;
padding-left: 10px;
}

.limit-text-window
{
max-height: 15vh;
}
}

.bb-welcome-formart
{
width: 100%;
display: flex;
justify-content: space-between;
}

.bb-welcome-left
{
margin-right: 50px;
}

.bb-welcome-left h1
{
font-size: 36px;
font-weight: bold;
text-align: center;
text-transform: uppercase;
color: var(--main-color);
}

.bb-welcome-left h2
{
font-size: 22px;
font-weight: bold;
text-align: center;
color: var(--main-color);
}

.bb-welcome-right
{
width: 250px;
}

.bb-welcome-right img
{
width: 250px;
height: auto;
}

@media only screen and (max-device-width: 990px)
{
.bb-welcome-formart
{
display: block;
}

.bb-welcome-left
{
margin-right: 0px;
}

.bb-welcome-left h1
{
font-size: 30px;
}

.bb-welcome-left h2
{
font-size: 18px;
}

.bb-welcome-right
{
display: none;
width: 0px;
}

.bb-welcome-right img
{
display: none;
width: 0px;
height: 0px;
}
}

.bb-description
{
margin-top: 100px;
padding: 15px;
background: #ffffff;
}

.bb-accordion-formart
{
margin-top: -20px;
width: 100%
}

.bb-accordion-formart h2
{
font-size: 28px;
font-weight: bold;
text-align: center;
color: var(--main-color);
}

.bb-accordion-self
{
width: 100%;
margin-top: 30px;
margin-bottom: 20px;
}

.bb-accordion-header-formart
{
display: flex;
justify-content: space-between;
align-items: center;
padding: 15px;
background: var(--main-color);
cursor: pointer;
}

.bb-accordion-header-title
{
padding-right: 10px;
color: var(--title-color);
font-size: 20px;
font-weight: bold;
}

.bb-accordion-header-icon::before
{
visibility: visible;
font-family: 'FontAwesome';
content: "\f0d7";
font-size: 25px;
color: var(--title-color);
}

.bb-accordion-header-formart.active .bb-accordion-header-icon::before
{
content: "\f0de";
}

.bb-accordion-content
{
display: block;
height: 0;
overflow: hidden;
transition: height 0.3s ease-in-out, padding-top 0.3s ease-in-out;
padding-top: 0;
}

.bb-accordion-content.active
{
padding-top: 15px;
}

.group-title
{
display: none;
}

a
{
color: var(--main-color);
text-decoration: none;
}

a:hover
{
color: var(--main-color);
text-decoration: underline;
}

.btn-primary,
.btn-primary:hover
{
background-color: #006600;
border-color: #006600;
color: #fff;
transition: transform 0.4s;
text-transform: uppercase;
font-weight: bold;
}

.btn-primary:hover
{
transform: scale(1.3, 1.3);
}

.btn-outline-secondary
{
text-transform: uppercase;
}

.btn-check:checked + .btn-primary,
.btn-primary.active, .btn-primary:active,
.show > .btn-primary.dropdown-toggle
{
background-color: #ffffff;
border-color: #006600;
color: #006600;
}

.answers-list .btn-primary,
.answers-list .btn-primary:active,
.answers-list .btn-primary:visited,
.answers-list .btn-primary:focus,
.answers-list .btn-primary:focus-visible
{
background-color: #fff !important;
border-color: #006600 !important;
color: #006600 !important;
transition: transform 0.4s;
outline: none !important;
box-shadow: none !important;
-webkit-tap-highlight-color: transparent !important;
}

.question-container
{
margin-bottom: 2em;
border: 0px;
background-color: #ffffff;
}

.question-title-container
{
padding-top: 1em;
padding-bottom: 1em;
background: var(--main-color);
color: var(--title-color);
font-weight: bold;
}

.input-error
{
border: 3px solid #df0000;
}

.asterisk
{
 display: none;
}

.ls-questionhelp
{
padding-bottom: 15px;
}

.ls-questionhelp::before
{
display: none;
}

.text-info
{
color: var(--main-color)!important;
font-weight: normal !important;
font-size: 15px;
}

.ls-table-wrapper
{
padding-top: 15px;
padding-bottom: 15px;
}

tbody
{
border: 0px;
}

.table,
tr,
th
{
border: 0px;
border-color: #ffffff;
background-color: #ffffff;
}

tr.ls-heading.ls-header
{
position: sticky;
top: 80px;
background: #ffffff;
z-index: 500;
box-shadow: 0px 8px 7px -8px #111;
}

.table > :not(:first-child)
{
border-top: 0px;
}

.table-bordered > :not(caption) > *,
.table-bordered > :not(caption) > * > *
{
border-width: 0px;
padding: 20px;
}

.ls-input-group
{
display: flex !important;
margin-bottom: 15px !important;
}
    
.ls-input-group-extra
{
width: auto !important;
min-width: 55px;
margin-left: 15px !important;
text-align: right;
}

/* Style for select and input */
select
{
min-width: 25%;
}

.form-inline .form-group,
.form-inline input.form-control[type="text"]
{
max-width: 100% !important;
}

.answers-list.radio-list
{
width: 100%;
}

.form-group.answer-item.text-item
{
margin-top: 15px;
}

/* Special radio & checkbox styles */
.radio-item label::after,
.checkbox-item label::after,
input[type='radio'],
input[type='checkbox'],
.radio-item input[type="radio"],
.radio-item input[type="checkbox"],
.form-check-input[type="checkbox"]
{
opacity: 0;
visibility: visible;
}

.radio-item label::before
{
border: none;
background-color: transparent;
transition: color 0s ease-in;
font-family: 'FontAwesome';
visibility: visible;
content: "\f1db";
font-size: 120%;
color: #bbb;
top: 4px;
text-shadow: none;
}

.checkbox-item label::before,
.form-check-input::before
{
border: none;
background-color: transparent;
transition: color 0s ease-in;
font-family: 'FontAwesome';
visibility: visible;
content: "\f096";
font-size: 120%;
color: #bbb;
top: 4px;
text-shadow: none;
}

.form-check-input
{
color-adjust: exact;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
background-position: 0%;
background-repeat: no-repeat;
background-size: contain;
background: rgba(255, 255, 255, 1);
border: 0px;;
height: 1em;
margin-top: .25em;
-webkit-print-color-adjust: exact;
vertical-align: top;
width: 0px;
opacity: 1;
}

.form-check-input[type="checkbox"]
{
  opacity: 1;
}

.form-check-input[type="checkbox"]:checked 
{
  opacity: 0;
}

.form-check-label
{
  margin-left: 20px;
  margin-top: 5px;
}

input[type='radio']:checked + label:before,
input[type='radio']:checked + .label:before,
input[type='radio']:checked:focus + label:before,
input[type='radio']:checked:focus + .label:before
{
font-family: 'FontAwesome';
visibility: visible;
transition: color 0.5s ease-in;
content: "\f00c";
font-size: 140%;
color: #006600;
}

input[type='checkbox']:checked + label:before,
input[type='checkbox']:checked + .label:before,
input[type='checkbox']:checked:focus + label:before,
input[type='checkbox']:checked:focus + .label:before
{
font-family: 'FontAwesome';
visibility: visible;
transition: color 0.5s ease-in;
content: "\f046";
font-size: 140%;
color: #006600;
}

.dir-ltr .radio-item label.ls-label-xs-visibility::before,
.dir-ltr .checkbox-item label.ls-label-xs-visibility::before,
.dir-ltr .radio-item .ls-label-xs-visibility,
.dir-ltr .checkbox-item .ls-label-xs-visibility
{
margin-left: -19px;
}

.radio-item .ls-label-xs-visibility,
.checkbox-item .ls-label-xs-visibility
{
width: 24px;
height: 24px;
}

.radio-item label,
.checkbox-item label
{
cursor: pointer;
padding-top: 7px;
padding-left: 10px;
}

.radio-item .ls-label-xs-visibility, .checkbox-item .ls-label-xs-visibility
{
display: inline-block;
position: relative;
overflow: hidden;
width: 26px;
height: 26px;
line-height: 20px;
text-indent: 20px;
}

/* checkbox to selectbox style */
.spec-checkbox-to-select .checkbox-item label::before
{
content: "\f1db"; /* leerer Kreis */
font-family: 'FontAwesome';
font-size: 120%;
color: #bbb;
visibility: visible;
transition: color 0s ease-in;
background-color: transparent;
border: none;
top: 4px;
text-shadow: none;
}

.spec-checkbox-to-select input[type='checkbox']:checked + label::before,
.spec-checkbox-to-select input[type='checkbox']:checked + .label::before,
.spec-checkbox-to-select input[type='checkbox']:checked:focus + label::before,
.spec-checkbox-to-select input[type='checkbox']:checked:focus + .label::before
{
content: "\f00c"; /* Häkchen ? */
color: #006600;
font-size: 140%;
}

label:before,
.label:before
{
outline: none !important;
}

/* Tooltip */
.tooltip
{
z-index: 50;
}

.slider-handle
{
background-color: #006600;
}

/* Costum 10 point input with labels */
@media only screen and (min-width: 768px)
{
.form-inline .form-group.other-text-item
{
padding-left: 50px;
}

.bb-custom10point .answers-list.radio-list
{
width: 100%;
display: flex;
flex-wrap: nowrap;
justify-content: center;
align-items: center;
}

.bb-custom10point .bb-10pointlabel
{
width: 14%;
text-align: center;
}

.bb-custom10point .col-md-2
{
width: 6%;
}

.bb-custom10point .form-check
{
padding-left: 0px;
}

.bb-custom10point .row > *
{
padding-left: 5px;
padding-right: 5px;
}
}

@media only screen and (max-width: 767px)
{
.bb-custom10point .row > *
{
padding-bottom: 15px;
}

.bb-custom10point .bb-10pointlabel
{
text-align: center;
}
}

/* Footer */
.bb-footer-formart
{
display: flex;
align-items: center;
text-align: justify;
hyphens: auto;
max-width: 1320px;
margin: 0 auto;
padding-top: 20px;
border-top: 1px dotted #bebebe;
}

.bb-footer-text
{
margin-left: 25px;
font-size: 14px;
}

/* Lightbox */
.lightbox-overlay
{
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgba(0, 0, 0, 0.85);
display: none;
justify-content: center;
align-items: center;
z-index: 1000000000;
}

.lightbox-frame
{
position: fixed;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
background-color: #fff;
padding: 0px;
max-width: 96%;
max-height: 80%;
overflow-y: auto;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
z-index: 1000000001;
display: none;
}

.lightbox-frame h1
{
font-size: 30px;
hyphens: auto;
}

.lightbox-closing
{
position: sticky;
top: 0;
display: flex;
justify-content: flex-end;
background-color: #fff;
z-index: 100002;
padding-right: 15px;
padding-top: 0px;
margin: 0px;
}

.lightbox-close
{
font-size: 56px;
font-weight: bold;
color: #d70000;
cursor: pointer;
transition: color 0.3s ease;
}

.lightbox-close:hover
{
color: #000000;
}

.lightbox-content
{
margin-top: -50px;
padding: 15px;
}

/* Mobile settings */
@media only screen and (max-device-width: 1024px)
{
.ls-answers
{
padding-top: 15px !important;
padding-bottom: 0;
border: 0px;
}

table.ls-answers tr
{
border: 0px;
}
 
table.ls-answers tbody .control-label
{
background: #ffffff;
color: var(--main-color);
font-weight: bold;
border: 0px;
}

.table > :not(:first-child)
{
border-top: 0px;
}
 
textarea
{
margin-bottom: 15px;
}
}

@media only screen and (max-device-width: 960px)
{
table.ls-answers tr
{
margin-bottom: 25px;
}

.bb-footer-formart
{
display: block;
}

.bb-footer-logo
{
display: block;
margin-left: auto;
margin-right: auto;
}

.bb-footer-text
{
margin-top: 20px;
margin-bottom: 20px;
margin-left: 0px;
padding-right: 10px;
padding-left: 10px;
}
}

@media only screen and (min-width: 768px)
{
.form-inline .form-group.other-text-item
{
padding-left: 50px;
}
}

/* Settings for Page - Home*/
.img-fluid
{
height: auto;
max-width: 250px;
margin-bottom: 30px;
}