/******************
    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
*/
:root {
    --bs-body-font-size: 18px; 
    --link-color: #0A047B;
    --link-decoration-color: #0A047B;
    --link-focus-outline-color: #0A047B;
    --headline-color: #1A171B;
    --text-color: #1A171B;
    --primary-color: #0A047B;
    --border-color: #7F7F7F;
    --background-color: #FAF8F2;
    --box-shadow-color: #1A171B;
    --focus-outline-color: #000000;
    --blockquote-color: var(--text-color);
    --blockquote-background-color: #EEEEEE;
    --table-even-background-color: #EEEEEE;
    --table-headline-color: #1A171B;
    --picture-active-inner-box-shadow-color: var(--primary-color);
    --picture-active-outer-box-shadow-color: var(--background-color);
    --link-active-outline-color: var(--link-decoration-color);
    --link-glossary-border-color: var(--border-color);
    --link-glossary-active-border-color: var(--link-glossary-border-color);
    --form-elements-border-color: #7F7F7F;
    --form-elements-border-border-color: var(--primary-color);
    --form-elements-active-border-color: var(--border-color);
    --form-elements-active-box-shadow-color: var(--primary-color);
    --form-elements-background-background-color: #EEEEEE;
    --form-elements-active-outline-color: var(--primary-color);
    --form-elements-separator-color: #EEEEEE;
    --button-background-color: #0A047B;
    --button-border-color: var(--button-background-color);
    --button-active-background-color: #313FE3;
    --button-active-border-color: var(--button-active-background-color);
    --button-reset-background-color: #585858;
    --button-reset-border-color: var(--button-reset-background-color);
    --button-reset-text-color: #FFFFFF;
    --form-error-color: #EB1300;
    --form-error-border-color: #EB1300;
    --captcha-border-color: var(--primary-color);
    --captcha-active-pseudo-background-color: rgba(51, 51, 51, 0.7);
}

@font-face {
    font-family: "bundessansweb";
    src: url("./fonts/BundesSansWeb-Regular.woff2") format("woff2"), url("./fonts/BundesSansWeb-Regular.woff") format("woff");
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: "bundessansweb";
    src: url("./fonts/BundesSansWeb-Italic.woff2") format("woff2"), url("./fonts/BundesSansWeb-Italic.woff") format("woff");
    font-weight: 400;
    font-style: italic;
}

@font-face {
    font-family: "bundessansweb";
    src: url("./fonts/BundesSansWeb-Bold.woff2") format("woff2"), url("./fonts/BundesSansWeb-Bold.woff") format("woff");
    font-weight: 700;
    font-style: normal;
}

@font-face {
    font-family: "bundessansweb";
    src: url("./fonts/BundesSansWeb-BoldItalic.woff2") format("woff2"), url("./fonts/BundesSansWeb-BoldItalic.woff") format("woff");
    font-weight: 700;
    font-style: italic;
    font-display: fallback
}


/* Schmalere Containerspalte bei großen Bildschirmen */
@media only screen and (min-width:1024px) {
    .col-xl-8 {
        flex: 0 0 auto;
        min-width: 1024px;
        width:66.67%;
        max-width: 1236px;
    }
    img.is-shrink-logo {
        display: none;
    }
    img.is-large-logo {
        display: inline;
    }

}

/* Schmalere Containerspalte bei großen Bildschirmen */
@media only screen and (max-width:1023px) and (min-width:803px) {
   img.is-large-logo {
        display: none;
    }
    img.is-shrink-logo {
        display: inline!important;
    }
}

/* Schmalere Containerspalte bei großen Bildschirmen */
@media only screen and (max-width:802px) {
   img.is-large-logo {
        display: none;
    }
   img.is-shrink-logo {
        display: inline!important;
    }
    #c-nav-primary {
        display: none;
    }
}

html {
    box-sizing: border-box;
    font-size: var(--bs-body-font-size);
}


/* Standard Schriftformatierung */ 
body, body.error-page {
    font-family: bundessansweb, Calibri, "Droid Sans", Arial, "Helvetica Neue", Helvetica, sans-serif;
    font-size: 1.15rem;
    line-height: 1.5em;
    color: var(--text-color);
}


/* Abstand von Absätzen und Listeneinträgen */
p, li {
    margin-bottom: 0.5em;
}

/* Darstellung von Links in fett */
a {
	color: var(--link-color);
	font-weight: 600;
    font-size: 1.15rem;
}

/* Mouse Pointer und Unterstreichen über Links */
a:hover, a:not([href]):not([class]):hover {
	color: var(--link-color);
    cursor: pointer;
    text-decoration:underline;
}


/* Korrektur der Sprunghöhe von internen Links bzgl. des Header 
:target:before {
    content: "";
    display: block;
    height: 104px; // same as your fixed header height 
    margin: -104px 0 0!important; // negative fixed header height 
} */


.l-header__main-logo > a:hover {
   text-decoration:none;
}

.alert {
    font-size: 1em;
}

/* Überschrift Umfragetitel */
.large-heading, h2, #surveys-list-jumbotron, body.error-page .error-title {
    font-family: bundessansweb, Calibri, "Droid Sans", Arial, "Helvetica Neue", Helvetica, sans-serif;
    font-weight: 400;
    font-size: 2.5rem;
    margin-top: 1em;
    margin-bottom: 1em;
    line-height: 2.75rem;
} 


#welcome-container {
  max-width: 100%;
}


/* Survey Info / Abstract */
.survey-description.form-heading {
    font-size: 1.25rem;
}

.survey-description {
    line-height: 1.5em;
    padding-left: 10px;
    padding-right: 10px;
    margin-top: 2rem;
    font-weight: bold;
}  

/* Willkommenstext */
.survey-welcome.form-heading  {
    font-size: 1.15rem;
}

.survey-welcome {
    font-weight: normal;
    line-height: 1.5em;
    padding-left: 10px;
    padding-right: 10px;
    margin-top: 2rem;
}

/* Links im Willkommenstext */
.survey-welcome a {
    font-size: 1.15rem;
	color: var(--link-color);
}

/* Anker bzw. Sprungmarken im Willkommenstext */
.survey-welcome a:not([href]):not([class]), .survey-welcome a:not([href]):not([class]):hover {
    font-size: 1.15rem;
	color: var(--text-color);
    text-decoration: none;
    cursor: auto;
}


/* Fragegruppen: Äußerer Container 
.group-outer-container {
	padding-top: 80px;
	margin-top: -80px;
	margin-bottom: 0px; 	
} */

/* Fragegruppenüberschrift  */
.group-container .group-title, h3, .h3 {
    font-family: bundessansweb, Calibri, "Droid Sans", Arial, "Helvetica Neue", Helvetica, sans-serif;
    font-size: 2rem;
    font-style: normal;
    font-weight: 400;
    padding-left: 10px;
    padding-right: 10px;
/*    line-height: 1.15em; */
} 

.group-container .group-description {
    font-weight: normal;
    line-height: 1.5em;
    padding-left: 10px;
    padding-right: 10px;
    font-size: 1.15rem;
}

.space-col {
    margin-top: 1rem;
    margin-bottom: 1rem;
}

/*.h3, h3 {
    color: rgb(0, 82, 136);
    font-size: 1.8em;
    font-style: normal;
    font-weight: 400;
    line-height: 27px;
    text-align: center;
    margin-bottom: 9px;    
} */


/* Fragencontainer (Box) */

.question-container  {
    background-color: var(--background-color);
    border-bottom-left-radius: 15px;
    border-bottom-right-radius: 15px;
    border-top-left-radius: 15px;
    border-top-right-radius: 15px;
    padding: 10px 10px 10px;
    /* box-shadow: var(--box-shadow-color) 0 3px 4px 0px; */
} 

/* Fragenummer */
.question-number  {
    font-size:1.25rem!important; 
    color: var(--bs-body-color);
    font-weight: 700;
} 
.question-container .asterisk {
    vertical-align: 0;
}

.question-container .ls-label-question {
    font-size:1.15rem!important; 
    font-weight: normal;
}
.question-container .ls-label-question a {
    font-size:1.15rem!important; 
}

/* Fragetexte */
.answer-item {
   margin: auto;
}

.ls-answers label, .answer-item label, .control-label {
    color: var(--text-color);
    font-weight: 600;
    font-size: 1rem;
    margin: auto;
}

.ls-answers .ls-heading th, .ls-answers th {
    color: var(--text-color);
    font-weight: 600;
    font-size: 1rem;
    margin: auto;
}

/* Korrektur: Sonstiges Option bei Radiolist nicht einrücken */
li.row.answer-item.radio-text-item {
  --bs-gutter-x: 0rem;
}

.form-control {
    font-size:1rem!important;
    line-height:1rem;
    color: var(--text-color);
}
.form-control[disabled] {
    color: var(--text-color);
    background-color: var(--form-elements-background-background-color);
    opacity: 1;
}

/* Layoutkorrektur: Zeige Summe bei mutltiplen numerischen eingaben in einer Zeile 
.ls-group-remaining {
    display: flex;
} */


/* Ausfüllhinweise */
.ls-em-tip, .ls-questionhelp {
/*    color: rgb(119, 119, 119);*/
    font-weight: 400;
    font-size:0.9975rem; 
}

.question-container .ls-question-message, .ls-questionhelp {
  font-style: italic;
/*  font-size: 1.5rem;*/
}



/* Überschriften in Antworttabellen 
.ls-answers .ls-heading th {
    font-weight: 600;
} */

/* Rahmen für Tabellen: Rahmen entsprechend der Schriftfarbe 
.table {
    color: rgb(0, 82, 136); 
} */ 

.yesno-button .ls-button-label, .gender-button .ls-button-label {
    min-width: 80px;
/*    font-size: 1.5rem;*/
}

.btn-lg, .btn-group-lg > .btn {
    min-height: 44px;
    padding: 12px;
/*    font-size: 2rem;*/
    line-height: 28px;
    border-radius: 4px;
}

/*
.btn-check:focus+.btn-primary,.btn-primary:focus,.btn-primary:hover, .btn-primary:checked, .btn-primary:visited {
    background-color: rgb(3, 84, 137);
    border-color: rgb(3, 84, 137);
    color: rgb(255, 255, 255);
}

.btn-check:active+.btn-primary,.btn-check:checked+.btn-primary,.btn-primary.active,.btn-primary:active {
    background-color: rgb(3, 84, 137);
    border-color: rgb(3, 84, 137);
    color: rgb(255, 255, 255);
} */

/* Absenden-Button */
.btn, .btn-primary, .btn-default {
	background-color: var(--button-background-color);
	border-color: var(--button-border-color);
	color: rgb(255, 255, 255);
}

/* Infotext z.b. bei Zwischenspeichern */
.text-info {
    color: rgb(var(--text-color)) !important;
}

/* Überschriften in Modalbox (Links im Footer z.B. F.A.Q.) 
.h5 {
    padding-top: 12px;
    font-weight: 600;
} */

/* Verhindern dass das Dateiuploadfenster von einem div-Cotainer überblendet wird 
.modal-backdrop.show  {
    display: none;
} */

/* Verhindern dass die Suchzeile bei der Kartenauswahlfrage angezeigt wird 
.geoname_search {
    display: none;
} */

/****************************
 * Navigationsleiste oben
 * *************************/

.fixed-top {
    position: sticky;
    top: 0;
    right: 0;
    left: 0;
    z-index: 1030;
}

html {
    scroll-padding-top: 104px;
}

/* Weisser Hintergrund für Navigationsleiste oben */
.navbar {
 background-color:#ffffff!important;
 border-color:#e7e7e7;
 box-shadow:none;
}

/* Links in der Navigationsleiste nicht in fett */

.nav {
  display: flex;
  flex-wrap: wrap;
  padding-left: 0;
  margin-bottom: 0;
  list-style: none;
}

.nav-link {
  display: block;
  padding: 0.5rem 1rem;
  
  text-decoration: none;
}

a.nav-link {
    font-size: 1rem;
    color: var(--link-color);
	font-weight: 400;
}

.nav-link:hover, .nav-link:focus {
    color: var(--link-color);
}

/****************************
 * Startseite / Umfrageliste
 * *************************/
.surveys-list .btn-group {
    width: 100%;
}
.survey-contact, .survey-list-heading {
    padding-top: 2em;
}

.form-change-lang #language-changer-select {
  color: var(--link-color);
  background-color: transparent;
}

.form-change-lang #lang-select::after {
  color: var(--link-color);
}

.dropdown-menu > li > a:hover {
  color: #ffffff;
  background-color: var(--link-color)!important;
}
.dropdown-menu > li > a:focus {
  color: #ffffff;
  background-color:var(--link-color)!important;
}
.dropdown-menu > .active > a {
  color: #ffffff;
  background-color: var(--link-color)!important;
}
.dropdown-menu > .active > a:hover {
  color: #ffffff;
  background-color: var(--link-color)!important;
}
.dropdown-menu > .active > a:focus {
  color: #ffffff;
  background-color: var(--link-color)!important;
}


/****************************
 * Modal Dialog (Bootstrap)
 * *************************/
.modal-dialog {
  margin: 0.5rem;
}

.modal-header {
  padding: 1rem;
  border-bottom: none;
}

.modal-title {
  margin-top: 0;
  line-height: 26px;
}

.modal-body {
  padding: 1rem;
}

.modal-footer {
  border-top: none;
  padding: 1rem;
  padding-top: 0;
}



/****************************
 *  CSS-Layout BKartA-Footer 
 ****************************/

/* Zusatzangaben für Footer (vgl. footer.twig) */
@media screen {
    body {
    	padding-bottom: 0!important; /* no bottom padding, footer should be bottom aligned */
        /* padding-top: 60px; now is redefine in JS to fit any title length */
        flex-direction: column; /* article, then footer */
        display: flex; /* flex, to extend the content to full size */
        min-height: 100vh; /* full height, to bottom-align footer */
    }
    
    /* Zusatzangaben für Footer (vgl. footer.twig) */
    body > article {
        flex: 1; /* the main article should use as much space as possible */
    }
}



.l-footer {
    position: relative;
    background: #0A047B;
    color: #FFFFFF;
}

.l-footer__info {
    max-width: 100%;
    padding-left: 1em;
    padding-right: 1em;
}


.l-footer__info-nav.c-footer-info {
    line-height: 21px;
    font-size: 14px;
    font-weight: bold;
    margin-top: 10px;
    margin-bottom: 10px;
}

.l-footer__info-nav.c-footer-info div {
    vertical-align: middle;
    margin: 0px;
}

.l-footer__info-nav.c-footer-info ul {
    line-height: 40px;
    vertical-align: middle;
    margin: 0px;
}

.l-footer__info-nav.c-footer-info li {
    vertical-align: middle;
    margin-bottom: 0px;
}
.l-footer__info-nav.c-footer-info a {
    vertical-align: middle;
}

ul.c-footer-info__list{
    text-size-adjust: none !important;
    box-sizing: inherit;
    padding: 0;
    list-style-position: outside;
    margin-left: 0;
    list-style-type: none;
    display: flex;
    flex-wrap: wrap;
}

li.c-footer-info__list {
    list-style-position: outside;
    list-style-type: none;
    box-sizing: inherit;
    padding: 0;
    letter-spacing: .3px;
    margin-right: 30px;
}


.c-footer-info__item {
    margin-right: 30px
}

.c-footer-info__item > a {
    font-size: 14px;
    font-weight: bold;
    color: #FFFFFF;
}

.l-footer__copyright {
    line-height: 40px;
    vertical-align: middle;
    text-align: right;
    font-size: 14px;
    font-weight: bold;
    word-spacing: .25em;
}

a.c-footer-functions__top {
    color: #FFFFFF;
    line-height: 40px;
    vertical-align: middle;
    text-align: right;
    font-size: 14px;
    font-weight: bold;
    word-spacing: .25em;
}



/************************************************
 *  CSS-Layout BKartA-Print 
 * Diese Angaben gelten nur für die Druckausgabe
 ************************************************/
@media print {
    
    /* Standardpapiergröße und ränder */ 
    @page { size: A4; margin: 10mm;  } 
    

    /* Print: Standardschriftart und Zeilenhöhe */ 
    body {
       color: rgb(51, 51, 51)!important;
       font-size: 16px;
       font-weight: 400;
       line-height: 20px;
    }

    /* Navigationsleiste nicht drucken */
    .navbar.fixed-top {
    	display: none;
    	position: static;
    }

    /*.navbar header {
    	display: none;
    } */
    
    .c-nav-primary {
    	display: none;
    }
    
    .navbar-menu {
    	display: none;
    }
    
    /* Setze feste Pixelbreite für Druckausgabe */
	.outerframe.container {
		width:1060px;
    }
    
    
    /* Print: Survey Name  */
    h1, h2, h3, h4, .h3, .h4, a {
        color: rgb(51, 51, 51)!important;
    }

    .survey-name.large-heading {
        font-size: 24pt;
    }
    
    /* Print: Survey Name  */
    h1, h2 {
        margin-bottom: 1.5em;
        font-size: 18pt;
        font-weight: normal;
    	page-break-after:avoid; 
    }

    /* Print: Willkommen */
    .welcome-container {
    	page-break-before: avoid; 
    	page-break-after: auto; 
    	page-break-inside: auto; 
        padding: 0;
    	margin-top: 0; 	
    	margin-bottom: 3em; 	
    }
    
    /* Print: Fragegruppen */
    .group-outer-container {
    	page-break-before: auto; 
    	page-break-after: auto; 
    	page-break-inside: auto; 
        padding: 0;
    	margin-top: 0; 
    	margin-bottom: 3em; 	
        clear: both;
        float: none!important;
    	display: block; 
        overflow: visible;
    }

    .group-container {
    	padding: 0;
    	margin-top: 0; 
    	margin-bottom: 0; 
    	display: block;
    	float: none;
    	overflow: visible;
    	position: static;
        align-content: flex-start;
    }

    .group-container .group-title {
    	page-break-before: auto; 
    	page-break-after: avoid; 
    	page-break-inside: avoid; 
    }
    
    /* Print: Fragegruppenüberschrift */
    .group-title, .group-title.h3, .h3, h3 {
        color: rgb(51, 51, 51)!important;
        font-size: 18pt!important;;
        font-style: normal;
        font-weight: normal;
        line-height: 1.5em;
    	margin-top: 0; 	
    	margin-bottom: 2em; 	
    }

    .group-title-container > .question-container{
        page-break-before:avoid!important;
    }


    /* Print: Fragencontainer (Box) */
    .question-container{
        background-color: #ffffff!important;
        border-bottom-left-radius: 0;
        border-bottom-right-radius: 0;
        border-top-left-radius: 0;
        border-top-right-radius: 0;
        box-shadow: none; 
    	margin-top: 0;
    	margin-bottom: 2em;
        padding-top: 6px;
        padding-bottom: 6px;
        page-break-before:auto;
        page-break-after:auto;
        page-break-inside:avoid;
    }

    .question-title-container {
        padding-top: 2px;
        padding-bottom: 2px;
        page-break-before:auto;
        page-break-after:auto;
    }

    /* Print: Fragetexte */
    .ls-label-question {
        color: rgb(51, 51, 51)!important;
        font-size: 1rem; 
    }
    
    /* Print: Ausfüllhinweise */
    .ls-em-tip {
        font-size:0.9em; 
        color: rgb(119, 119, 119);
        font-weight: 400;
    }

    .fa-asterisk:before {
        color: rgb(119, 119, 119);
    }

    .question-valid-container {
    	margin-bottom: 1em;
    	page-break-before: auto;
    	page-break-after: auto;
    }

    /* Print: Keine Seitenumbrüche innerhalb der Antworten */
    .answer-container {
    	page-break-inside: avoid;
    }

    .answer-item, .ls-answers, .ls-heading, .answer-text, .ls-answers, td{
        font-size: 16px; 
    	font-weight: normal;
        line-height:20px;
    	padding-top: 1px;
    	padding-bottom: 1px;
    }
    
     .form-control {
    	font-size: 16px;
    	line-height:20px;
    	padding-top: 1px;
    	padding-bottom: 1px;
    } 
    
    li.answer-item {
        margin-bottom: 0.25em;
    }
    
/*    .answer-container > ul > li > div.row  {
    	page-break-before: auto; 
    	page-break-after: auto; 
    	page-break-inside: avoid; 
        display: flex;
    }

    li > div.row > div.col {
        display: inline-flex;
    } */

    table > .answer-item th, .ls-answers .ls-heading th {
        font-size: 16px;
        font-weight: 500;
    	line-height:20px;
    }

    /* Print: Zeige ausgewähltes Radio-Button */
    .checkbox-item input[type="checkbox"]:checked + label:before {
  }

    /* Print: Zeige ausgewähltes Radio-Button */
    .radio-item input[type="radio"]:checked + label::before { 
        background-color:rgb(128,128,128)!important;
        box-shadow: inset 1em 1em rgb(128,128,128)!important;
    }


    /* Print: Tabellen */
    thead { display: table-header-group; }
    tbody {display: table-row-group } 
    tr {display: table-row } 
    td {display: table-cell } 
    table>tbody>tr>thead {display: table-cell } 


    /* Print: Rahmen für Tabellen */
    .table>tbody>tr>td,
    .table>tbody>tr>th,
    .table>tfoot>tr>td,
    .table>tfoot>tr>th,
    .table>thead>tr>td,
    .table>thead>tr>th,
    table>tbody>tr>td,
    table>tbody>tr>th,
    table>tfoot>tr>td,
    table>tfoot>tr>th,
    table>thead>tr>td,
    table>thead>tr>th {
     font-size: 16px; 
     padding: 0px;
     line-height:20px;
    }
    
    /* Print: Navigation unten inkl. Absenden-Button */
    #navigator-container {
        clear: both;
    	padding: 0;
    	margin: 0;
    }
    
    /* Print: Absenden-Button */
    .btn-group-lg>.btn, .btn-lg {
        padding: 8px 12px;
        font-size: 14px;
        line-height: 1.25;
        border-radius: 5px;
        box-shadow: 5em 5em rgb(221, 221, 221) inset !important;
    }

    .script-container {
        display: none;
    }

    /* Fusstzeile nicht drucken */
    footer {
    	display: none;
    }
    
    /* Fusstzeile nicht drucken */
   .l-footer {
    	display: none;
    }

}

/* Ende Drucklayout */

