/*! Bootstrap v3.3.2 | MIT | reduzierter Build fuer ab-braeuer.de (15.10.2026): Original bootstrap.css ohne Glyphicons, Code, Button-/Input-Gruppen, Breadcrumbs, Pagination, Pager, Labels, Badges, Jumbotron, Thumbnails, Alerts, Progress, List-Group, Panels, Responsive-Embed, Wells, Modals; minimiert mit csso. Volle Fassung: bootstrap.min.css */
/*!
 * Bootstrap v3.3.2 (http://getbootstrap.com)
 * Copyright 2011-2015 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 */
/*! normalize.css v3.0.2 | MIT License | git.io/normalize */
html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0;font-size:2em}mark{color:#000;background:#ff0}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{height:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{margin:0;font:inherit;color:inherit}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{padding:.35em .625em .75em;margin:0 2px;border:1px solid silver}legend{padding:0;border:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}
/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */
@media print{*,:before,:after{color:#000!important;text-shadow:none!important;background:0 0!important;-webkit-box-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" ("attr(href)")"}abbr[title]:after{content:" ("attr(title)")"}a[href^="#"]:after,a[href^="javascript:"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100%!important}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}select{background:#fff!important}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered th,.table-bordered td{border:1px solid #ddd!important}}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}:before,:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:transparent}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}input,button,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#337ab7;text-decoration:none}a:hover,a:focus{color:#23527c;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.img-responsive,.carousel-inner>.item>img,.carousel-inner>.item>a>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{display:inline-block;max-width:100%;height:auto;padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small,.h1 small,.h2 small,.h3 small,.h4 small,.h5 small,.h6 small,h1 .small,h2 .small,h3 .small,h4 .small,h5 .small,h6 .small,.h1 .small,.h2 .small,.h3 .small,.h4 .small,.h5 .small,.h6 .small{font-weight:400;line-height:1;color:#777}h1,.h1,h2,.h2,h3,.h3{margin-top:20px;margin-bottom:10px}h1 small,.h1 small,h2 small,.h2 small,h3 small,.h3 small,h1 .small,.h1 .small,h2 .small,.h2 .small,h3 .small,.h3 .small{font-size:65%}h4,.h4,h5,.h5,h6,.h6{margin-top:10px;margin-bottom:10px}h4 small,.h4 small,h5 small,.h5 small,h6 small,.h6 small,h4 .small,.h4 .small,h5 .small,.h5 .small,h6 .small,.h6 .small{font-size:75%}h1,.h1{font-size:36px}h2,.h2{font-size:30px}h3,.h3{font-size:24px}h4,.h4{font-size:18px}h5,.h5{font-size:14px}h6,.h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}small,.small{font-size:85%}mark,.mark{padding:.2em;background-color:#fcf8e3}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#337ab7}a.text-primary:hover{color:#286090}.text-success{color:#3c763d}a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#337ab7}a.bg-primary:hover{background-color:#286090}.bg-success{background-color:#dff0d8}a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:hover{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ul,ol{margin-top:0;margin-bottom:10px}ul ul,ol ul,ul ol,ol ol{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;margin-left:-5px;list-style:none}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-top:0;margin-bottom:20px}dt,dd{line-height:1.42857143}dt{font-weight:700}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote p:last-child,blockquote ul:last-child,blockquote ol:last-child{margin-bottom:0}blockquote footer,blockquote small,blockquote .small{display:block;font-size:80%;line-height:1.42857143;color:#777}blockquote footer:before,blockquote small:before,blockquote .small:before{content:"— "}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #eee;border-left:0}.blockquote-reverse footer:before,blockquote.pull-right footer:before,.blockquote-reverse small:before,blockquote.pull-right small:before,.blockquote-reverse .small:before,blockquote.pull-right .small:before{content:""}.blockquote-reverse footer:after,blockquote.pull-right footer:after,.blockquote-reverse small:after,blockquote.pull-right small:after,.blockquote-reverse .small:after,blockquote.pull-right .small:after{content:" —"}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0-1px 0 rgba(0,0,0,.25);box-shadow:inset 0-1px 0 rgba(0,0,0,.25)}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}.container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{margin-right:-15px;margin-left:-15px}.col-xs-1,.col-sm-1,.col-md-1,.col-lg-1,.col-xs-2,.col-sm-2,.col-md-2,.col-lg-2,.col-xs-3,.col-sm-3,.col-md-3,.col-lg-3,.col-xs-4,.col-sm-4,.col-md-4,.col-lg-4,.col-xs-5,.col-sm-5,.col-md-5,.col-lg-5,.col-xs-6,.col-sm-6,.col-md-6,.col-lg-6,.col-xs-7,.col-sm-7,.col-md-7,.col-lg-7,.col-xs-8,.col-sm-8,.col-md-8,.col-lg-8,.col-xs-9,.col-sm-9,.col-md-9,.col-lg-9,.col-xs-10,.col-sm-10,.col-md-10,.col-lg-10,.col-xs-11,.col-sm-11,.col-md-11,.col-lg-11,.col-xs-12,.col-sm-12,.col-md-12,.col-lg-12{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{background-color:transparent}caption{padding-top:8px;padding-bottom:8px;color:#777;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>thead>tr>th,.table>tbody>tr>th,.table>tfoot>tr>th,.table>thead>tr>td,.table>tbody>tr>td,.table>tfoot>tr>td{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>th,.table>caption+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>td,.table>thead:first-child>tr:first-child>td{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>thead>tr>th,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>tbody>tr>td,.table-condensed>tfoot>tr>td{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>tbody>tr>td,.table-bordered>tfoot>tr>td{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>thead>tr>td{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}table col[class*=col-]{position:static;display:table-column;float:none}table td[class*=col-],table th[class*=col-]{position:static;display:table-cell;float:none}.table>thead>tr>td.active,.table>tbody>tr>td.active,.table>tfoot>tr>td.active,.table>thead>tr>th.active,.table>tbody>tr>th.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>tbody>tr.active>td,.table>tfoot>tr.active>td,.table>thead>tr.active>th,.table>tbody>tr.active>th,.table>tfoot>tr.active>th{background-color:#f5f5f5}.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover,.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr.active:hover>th{background-color:#e8e8e8}.table>thead>tr>td.success,.table>tbody>tr>td.success,.table>tfoot>tr>td.success,.table>thead>tr>th.success,.table>tbody>tr>th.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>tbody>tr.success>td,.table>tfoot>tr.success>td,.table>thead>tr.success>th,.table>tbody>tr.success>th,.table>tfoot>tr.success>th{background-color:#dff0d8}.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover,.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr.success:hover>th{background-color:#d0e9c6}.table>thead>tr>td.info,.table>tbody>tr>td.info,.table>tfoot>tr>td.info,.table>thead>tr>th.info,.table>tbody>tr>th.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>tbody>tr.info>td,.table>tfoot>tr.info>td,.table>thead>tr.info>th,.table>tbody>tr.info>th,.table>tfoot>tr.info>th{background-color:#d9edf7}.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover,.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr.info:hover>th{background-color:#c4e3f3}.table>thead>tr>td.warning,.table>tbody>tr>td.warning,.table>tfoot>tr>td.warning,.table>thead>tr>th.warning,.table>tbody>tr>th.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>tbody>tr.warning>td,.table>tfoot>tr.warning>td,.table>thead>tr.warning>th,.table>tbody>tr.warning>th,.table>tfoot>tr.warning>th{background-color:#fcf8e3}.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover,.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr.warning:hover>th{background-color:#faf2cc}.table>thead>tr>td.danger,.table>tbody>tr>td.danger,.table>tfoot>tr>td.danger,.table>thead>tr>th.danger,.table>tbody>tr>th.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>tbody>tr.danger>td,.table>tfoot>tr.danger>td,.table>thead>tr.danger>th,.table>tbody>tr.danger>th,.table>tfoot>tr.danger>th{background-color:#f2dede}.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover,.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr.danger:hover>th{background-color:#ebcccc}.table-responsive{min-height:.01%;overflow-x:auto}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>thead>tr>th,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tfoot>tr>td{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>thead>tr>th:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.table-responsive>.table-bordered>thead>tr>th:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>th,.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0}}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=radio],input[type=checkbox]{margin:4px 0 0;margin-top:1px \9;line-height:normal}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=file]:focus,input[type=radio]:focus,input[type=checkbox]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.42857143;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{cursor:not-allowed;background-color:#eee;opacity:1}textarea.form-control{height:auto}input[type=search]{-webkit-appearance:none}@media screen and (-webkit-min-device-pixel-ratio:0){input[type=date],input[type=time],input[type=datetime-local],input[type=month]{line-height:34px}input[type=date].input-sm,input[type=time].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm,.input-group-sm input[type=date],.input-group-sm input[type=time],.input-group-sm input[type=datetime-local],.input-group-sm input[type=month]{line-height:30px}input[type=date].input-lg,input[type=time].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg,.input-group-lg input[type=date],.input-group-lg input[type=time],.input-group-lg input[type=datetime-local],.input-group-lg input[type=month]{line-height:46px}}.form-group{margin-bottom:15px}.radio,.checkbox{position:relative;display:block;margin-top:10px;margin-bottom:10px}.radio label,.checkbox label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.radio input[type=radio],.radio-inline input[type=radio],.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox]{position:absolute;margin-top:4px \9;margin-left:-20px}.radio+.radio,.checkbox+.checkbox{margin-top:-5px}.radio-inline,.checkbox-inline{display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.radio-inline+.radio-inline,.checkbox-inline+.checkbox-inline{margin-top:0;margin-left:10px}input[type=radio][disabled],input[type=checkbox][disabled],input[type=radio].disabled,input[type=checkbox].disabled,fieldset[disabled] input[type=radio],fieldset[disabled] input[type=checkbox]{cursor:not-allowed}.radio-inline.disabled,.checkbox-inline.disabled,fieldset[disabled] .radio-inline,fieldset[disabled] .checkbox-inline{cursor:not-allowed}.radio.disabled label,.checkbox.disabled label,fieldset[disabled] .radio label,fieldset[disabled] .checkbox label{cursor:not-allowed}.form-control-static{padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm{padding-right:0;padding-left:0}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}textarea.input-sm,select[multiple].input-sm{height:auto}.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.form-group-sm .form-control{height:30px;line-height:30px}textarea.form-group-sm .form-control,select[multiple].form-group-sm .form-control{height:auto}.form-group-sm .form-control-static{height:30px;padding:5px 10px;font-size:12px;line-height:1.5}.input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-lg{height:46px;line-height:46px}textarea.input-lg,select[multiple].input-lg{height:auto}.form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.form-group-lg .form-control{height:46px;line-height:46px}textarea.form-group-lg .form-control,select[multiple].form-group-lg .form-control{height:auto}.form-group-lg .form-control-static{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center;pointer-events:none}.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .help-block,.has-success .control-label,.has-success .radio,.has-success .checkbox,.has-success .radio-inline,.has-success .checkbox-inline,.has-success.radio label,.has-success.checkbox label,.has-success.radio-inline label,.has-success.checkbox-inline label{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.has-success .form-control-feedback{color:#3c763d}.has-warning .help-block,.has-warning .control-label,.has-warning .radio,.has-warning .checkbox,.has-warning .radio-inline,.has-warning .checkbox-inline,.has-warning.radio label,.has-warning.checkbox label,.has-warning.radio-inline label,.has-warning.checkbox-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .help-block,.has-error .control-label,.has-error .radio,.has-error .checkbox,.has-error .radio-inline,.has-error .checkbox-inline,.has-error.radio label,.has-error.checkbox label,.has-error.radio-inline label,.has-error.checkbox-inline label{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.has-error .form-control-feedback{color:#a94442}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn,.form-inline .input-group .form-control{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .radio,.form-inline .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .radio label,.form-inline .checkbox label{padding-left:0}.form-inline .radio input[type=radio],.form-inline .checkbox input[type=checkbox]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .radio,.form-horizontal .checkbox,.form-horizontal .radio-inline,.form-horizontal .checkbox-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .radio,.form-horizontal .checkbox{min-height:27px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.form-horizontal .control-label{padding-top:7px;margin-bottom:0;text-align:right}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:14.333333px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px}}.btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-image:none;border:1px solid transparent;border-radius:4px}.btn:focus,.btn:active:focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn.active.focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn:hover,.btn:focus,.btn.focus{color:#333;text-decoration:none}.btn:active,.btn.active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{pointer-events:none;cursor:not-allowed;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none;opacity:.65}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default:hover,.btn-default:focus,.btn-default.focus,.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled,.btn-default[disabled],fieldset[disabled] .btn-default,.btn-default.disabled:hover,.btn-default[disabled]:hover,fieldset[disabled] .btn-default:hover,.btn-default.disabled:focus,.btn-default[disabled]:focus,fieldset[disabled] .btn-default:focus,.btn-default.disabled.focus,.btn-default[disabled].focus,fieldset[disabled] .btn-default.focus,.btn-default.disabled:active,.btn-default[disabled]:active,fieldset[disabled] .btn-default:active,.btn-default.disabled.active,.btn-default[disabled].active,fieldset[disabled] .btn-default.active{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#337ab7;border-color:#2e6da4}.btn-primary:hover,.btn-primary:focus,.btn-primary.focus,.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled,.btn-primary[disabled],fieldset[disabled] .btn-primary,.btn-primary.disabled:hover,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary:hover,.btn-primary.disabled:focus,.btn-primary[disabled]:focus,fieldset[disabled] .btn-primary:focus,.btn-primary.disabled.focus,.btn-primary[disabled].focus,fieldset[disabled] .btn-primary.focus,.btn-primary.disabled:active,.btn-primary[disabled]:active,fieldset[disabled] .btn-primary:active,.btn-primary.disabled.active,.btn-primary[disabled].active,fieldset[disabled] .btn-primary.active{background-color:#337ab7;border-color:#2e6da4}.btn-primary .badge{color:#337ab7;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success:hover,.btn-success:focus,.btn-success.focus,.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;border-color:#398439}.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled,.btn-success[disabled],fieldset[disabled] .btn-success,.btn-success.disabled:hover,.btn-success[disabled]:hover,fieldset[disabled] .btn-success:hover,.btn-success.disabled:focus,.btn-success[disabled]:focus,fieldset[disabled] .btn-success:focus,.btn-success.disabled.focus,.btn-success[disabled].focus,fieldset[disabled] .btn-success.focus,.btn-success.disabled:active,.btn-success[disabled]:active,fieldset[disabled] .btn-success:active,.btn-success.disabled.active,.btn-success[disabled].active,fieldset[disabled] .btn-success.active{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info:hover,.btn-info:focus,.btn-info.focus,.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled,.btn-info[disabled],fieldset[disabled] .btn-info,.btn-info.disabled:hover,.btn-info[disabled]:hover,fieldset[disabled] .btn-info:hover,.btn-info.disabled:focus,.btn-info[disabled]:focus,fieldset[disabled] .btn-info:focus,.btn-info.disabled.focus,.btn-info[disabled].focus,fieldset[disabled] .btn-info.focus,.btn-info.disabled:active,.btn-info[disabled]:active,fieldset[disabled] .btn-info:active,.btn-info.disabled.active,.btn-info[disabled].active,fieldset[disabled] .btn-info.active{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning:hover,.btn-warning:focus,.btn-warning.focus,.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled,.btn-warning[disabled],fieldset[disabled] .btn-warning,.btn-warning.disabled:hover,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning:hover,.btn-warning.disabled:focus,.btn-warning[disabled]:focus,fieldset[disabled] .btn-warning:focus,.btn-warning.disabled.focus,.btn-warning[disabled].focus,fieldset[disabled] .btn-warning.focus,.btn-warning.disabled:active,.btn-warning[disabled]:active,fieldset[disabled] .btn-warning:active,.btn-warning.disabled.active,.btn-warning[disabled].active,fieldset[disabled] .btn-warning.active{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger:hover,.btn-danger:focus,.btn-danger.focus,.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled,.btn-danger[disabled],fieldset[disabled] .btn-danger,.btn-danger.disabled:hover,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger:hover,.btn-danger.disabled:focus,.btn-danger[disabled]:focus,fieldset[disabled] .btn-danger:focus,.btn-danger.disabled.focus,.btn-danger[disabled].focus,fieldset[disabled] .btn-danger.focus,.btn-danger.disabled:active,.btn-danger[disabled]:active,fieldset[disabled] .btn-danger:active,.btn-danger.disabled.active,.btn-danger[disabled].active,fieldset[disabled] .btn-danger.active{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{font-weight:400;color:#337ab7;border-radius:0}.btn-link,.btn-link:active,.btn-link.active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:hover,.btn-link:focus,.btn-link:active{border-color:transparent}.btn-link:hover,.btn-link:focus{color:#23527c;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover,fieldset[disabled] .btn-link:hover,.btn-link[disabled]:focus,fieldset[disabled] .btn-link:focus{color:#777;text-decoration:none}.btn-lg{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=submit].btn-block,input[type=reset].btn-block,input[type=button].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none;visibility:hidden}.collapse.in{display:block;visibility:visible}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease;-webkit-transition-duration:.35s;-o-transition-duration:.35s;transition-duration:.35s;-webkit-transition-property:height,visibility;-o-transition-property:height,visibility;transition-property:height,visibility}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px solid;border-right:4px solid transparent;border-left:4px solid transparent}.dropup,.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;text-align:left;list-style:none;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175)}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{color:#262626;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#fff;text-decoration:none;background-color:#337ab7;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#777}.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:4px solid}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{right:auto;left:0}}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:hover,.nav>li.disabled>a:focus{color:#777;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:hover,.nav .open>a:focus{background-color:#eee;border-color:#337ab7}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:hover,.nav-pills>li.active>a:focus{color:#fff;background-color:#337ab7}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none;visibility:hidden}.tab-content>.active{display:block;visibility:visible}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;-webkit-overflow-scrolling:touch;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important;visibility:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{padding-right:0;padding-left:0}}.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:200px}}.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;height:50px;padding:15px 15px;font-size:18px;line-height:20px}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:15px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu>li>a,.navbar-nav .open .dropdown-menu .dropdown-header{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:hover,.navbar-nav .open .dropdown-menu>li>a:focus{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.navbar-form{padding:10px 15px;margin-top:8px;margin-right:-15px;margin-bottom:8px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1)}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn,.navbar-form .input-group .form-control{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .radio,.navbar-form .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .radio label,.navbar-form .checkbox label{padding-left:0}.navbar-form .radio input[type=radio],.navbar-form .checkbox input[type=checkbox]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}}@media (min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:hover,.navbar-default .navbar-brand:focus{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:hover,.navbar-default .navbar-nav>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:hover,.navbar-default .navbar-nav>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:hover,.navbar-default .navbar-nav>.disabled>a:focus{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:hover,.navbar-default .navbar-toggle:focus{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:hover,.navbar-default .navbar-nav>.open>a:focus{color:#555;background-color:#e7e7e7}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:hover,.navbar-default .btn-link:focus{color:#333}.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:hover,.navbar-default .btn-link[disabled]:focus,fieldset[disabled] .navbar-default .btn-link:focus{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:hover,.navbar-inverse .navbar-brand:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:hover,.navbar-inverse .navbar-nav>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:hover,.navbar-inverse .navbar-nav>.active>a:focus{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:hover,.navbar-inverse .navbar-nav>.disabled>a:focus{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:hover,.navbar-inverse .navbar-toggle:focus{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:hover,.navbar-inverse .navbar-nav>.open>a:focus{color:#fff;background-color:#080808}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:hover,.navbar-inverse .btn-link:focus{color:#fff}.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:hover,.navbar-inverse .btn-link[disabled]:focus,fieldset[disabled] .navbar-inverse .btn-link:focus{color:#444}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{overflow:hidden;zoom:1}.media-body{width:10000px}.media-object{display:block}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-left,.media-right,.media-body{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0#fff;filter:alpha(opacity=20);opacity:.2}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}button.close{-webkit-appearance:none;padding:0;cursor:pointer;background:0 0;border:0}.tooltip{position:absolute;z-index:1070;display:block;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;font-weight:400;line-height:1.4;visibility:visible;filter:alpha(opacity=0);opacity:0}.tooltip.in{filter:alpha(opacity=90);opacity:.9}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;text-decoration:none;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;font-weight:400;line-height:1.42857143;text-align:left;white-space:normal;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2)}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{content:"";border-width:10px}.popover.top>.arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.popover.top>.arrow:after{bottom:1px;margin-left:-10px;content:" ";border-top-color:#fff;border-bottom-width:0}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.popover.right>.arrow:after{bottom:-10px;left:1px;content:" ";border-right-color:#fff;border-left-width:0}.popover.bottom>.arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25)}.popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:" ";border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.left>.arrow:after{right:1px;bottom:-10px;content:" ";border-right-width:0;border-left-color:#fff}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>img,.carousel-inner>.item>a>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000;perspective:1000}.carousel-inner>.item.next,.carousel-inner>.item.active.right{left:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.carousel-inner>.item.prev,.carousel-inner>.item.active.left{left:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right,.carousel-inner>.item.active{left:0;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);filter:alpha(opacity=50);opacity:.5}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5)0,rgba(0,0,0,.0001) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.5)0,rgba(0,0,0,.0001) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.0001)));background-image:linear-gradient(to right,rgba(0,0,0,.5)0,rgba(0,0,0,.0001) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);background-repeat:repeat-x}.carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001)0,rgba(0,0,0,.5) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.0001)0,rgba(0,0,0,.5) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.0001)),to(rgba(0,0,0,.5)));background-image:linear-gradient(to right,rgba(0,0,0,.0001)0,rgba(0,0,0,.5) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);background-repeat:repeat-x}.carousel-control:hover,.carousel-control:focus{color:#fff;text-decoration:none;filter:alpha(opacity=90);outline:0;opacity:.9}.carousel-control .icon-prev,.carousel-control .icon-next,.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right{position:absolute;top:50%;z-index:5;display:inline-block}.carousel-control .icon-prev,.carousel-control .glyphicon-chevron-left{left:50%;margin-left:-10px}.carousel-control .icon-next,.carousel-control .glyphicon-chevron-right{right:50%;margin-right:-10px}.carousel-control .icon-prev,.carousel-control .icon-next{width:20px;height:20px;margin-top:-10px;font-family:serif;line-height:1}.carousel-control .icon-prev:before{content:"‹"}.carousel-control .icon-next:before{content:"›"}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000 \9;background-color:transparent;border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-prev,.carousel-control .icon-next{width:30px;height:30px;margin-top:-15px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-15px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-15px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.clearfix:before,.clearfix:after,.dl-horizontal dd:before,.dl-horizontal dd:after,.container:before,.container:after,.container-fluid:before,.container-fluid:after,.row:before,.row:after,.form-horizontal .form-group:before,.form-horizontal .form-group:after,.nav:before,.nav:after,.navbar:before,.navbar:after,.navbar-header:before,.navbar-header:after,.navbar-collapse:before,.navbar-collapse:after{display:table;content:" "}.clearfix:after,.dl-horizontal dd:after,.container:after,.container-fluid:after,.row:after,.form-horizontal .form-group:after,.nav:after,.navbar:after,.navbar-header:after,.navbar-collapse:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none!important;visibility:hidden!important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-xs,.visible-sm,.visible-md,.visible-lg{display:none!important}.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table}tr.visible-xs{display:table-row!important}th.visible-xs,td.visible-xs{display:table-cell!important}}@media (max-width:767px){.visible-xs-block{display:block!important}}@media (max-width:767px){.visible-xs-inline{display:inline!important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table}tr.visible-sm{display:table-row!important}th.visible-sm,td.visible-sm{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table}tr.visible-md{display:table-row!important}th.visible-md,td.visible-md{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table}tr.visible-lg{display:table-row!important}th.visible-lg,td.visible-lg{display:table-cell!important}}@media (min-width:1200px){.visible-lg-block{display:block!important}}@media (min-width:1200px){.visible-lg-inline{display:inline!important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-lg{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table}tr.visible-print{display:table-row!important}th.visible-print,td.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}}@media print{.hidden-print{display:none!important}}
/* 
 *  Owl Carousel - Animate Plugin
 */
.owl-carousel .animated {
  -webkit-animation-duration: 1000ms;
  animation-duration: 1000ms;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}
.owl-carousel .owl-animated-in {
  z-index: 0;
}
.owl-carousel .owl-animated-out {
  z-index: 1;
}
.owl-carousel .fadeOut {
  -webkit-animation-name: fadeOut;
  animation-name: fadeOut;
}

@-webkit-keyframes fadeOut {
  0% {
    opacity: 1;
  }

  100% {
    opacity: 0;
  }
}
@keyframes fadeOut {
  0% {
    opacity: 1;
  }

  100% {
    opacity: 0;
  }
}

/* 
 * 	Owl Carousel - Auto Height Plugin
 */
.owl-height {
  -webkit-transition: height 500ms ease-in-out;
  -moz-transition: height 500ms ease-in-out;
  -ms-transition: height 500ms ease-in-out;
  -o-transition: height 500ms ease-in-out;
  transition: height 500ms ease-in-out;
}

/* 
 *  Core Owl Carousel CSS File
 */
.owl-carousel {
  display: none;
  width: 100%;
  -webkit-tap-highlight-color: transparent;
  /* position relative and z-index fix webkit rendering fonts issue */
  position: relative;
  z-index: 1;
}
.owl-carousel .owl-stage {
  position: relative;
  -ms-touch-action: pan-Y;
}
.owl-carousel .owl-stage:after {
  content: ".";
  display: block;
  clear: both;
  visibility: hidden;
  line-height: 0;
  height: 0;
}
.owl-carousel .owl-stage-outer {
  position: relative;
  overflow: hidden;
  /* fix for flashing background */
  -webkit-transform: translate3d(0px, 0px, 0px);
}
.owl-carousel .owl-controls .owl-nav .owl-prev,
.owl-carousel .owl-controls .owl-nav .owl-next,
.owl-carousel .owl-controls .owl-dot {
  cursor: pointer;
  cursor: hand;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.owl-carousel.owl-loaded {
  display: block;
}
.owl-carousel.owl-loading {
  opacity: 0;
  display: block;
}
.owl-carousel.owl-hidden {
  opacity: 0;
}
.owl-carousel .owl-refresh .owl-item {
  display: none;
}
.owl-carousel .owl-item {
  position: relative;
  min-height: 1px;
  float: left;
  -webkit-backface-visibility: hidden;
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.owl-carousel .owl-item img {
  display: block;
  width: 100%;
}
.owl-carousel.owl-text-select-on .owl-item {
  -webkit-user-select: auto;
  -moz-user-select: auto;
  -ms-user-select: auto;
  user-select: auto;
}
.owl-carousel .owl-grab {
  cursor: move;
  cursor: -webkit-grab;
  cursor: -o-grab;
  cursor: -ms-grab;
  cursor: grab;
}
.owl-carousel.owl-rtl {
  direction: rtl;
}
.owl-carousel.owl-rtl .owl-item {
  float: right;
}

/* No Js */
.no-js .owl-carousel {
  display: block;
}

/* 
 * 	Owl Carousel - Lazy Load Plugin
 */
.owl-carousel .owl-item .owl-lazy {
  opacity: 0;
  -webkit-transition: opacity 400ms ease;
  -moz-transition: opacity 400ms ease;
  -ms-transition: opacity 400ms ease;
  -o-transition: opacity 400ms ease;
  transition: opacity 400ms ease;
}
.owl-carousel .owl-item img {
  /*transform-style: preserve-3d;*/
}

/* 
 * 	Owl Carousel - Video Plugin
 */
.owl-carousel .owl-video-wrapper {
  position: relative;
  height: 100%;
  background: #000;
}
.owl-carousel .owl-video-play-icon {
  position: absolute;
  height: 80px;
  width: 80px;
  left: 50%;
  top: 50%;
  margin-left: -40px;
  margin-top: -40px;
  background: url("../../files/resources/owl/assets/owl.video.play.png") no-repeat;
  cursor: pointer;
  z-index: 1;
  -webkit-backface-visibility: hidden;
  -webkit-transition: scale 100ms ease;
  -moz-transition: scale 100ms ease;
  -ms-transition: scale 100ms ease;
  -o-transition: scale 100ms ease;
  transition: scale 100ms ease;
}
.owl-carousel .owl-video-play-icon:hover {
  -webkit-transition: scale(1.3, 1.3);
  -moz-transition: scale(1.3, 1.3);
  -ms-transition: scale(1.3, 1.3);
  -o-transition: scale(1.3, 1.3);
  transition: scale(1.3, 1.3);
}
.owl-carousel .owl-video-playing .owl-video-tn,
.owl-carousel .owl-video-playing .owl-video-play-icon {
  display: none;
}
.owl-carousel .owl-video-tn {
  opacity: 0;
  height: 100%;
  background-position: center center;
  background-repeat: no-repeat;
  -webkit-background-size: contain;
  -moz-background-size: contain;
  -o-background-size: contain;
  background-size: contain;
  -webkit-transition: opacity 400ms ease;
  -moz-transition: opacity 400ms ease;
  -ms-transition: opacity 400ms ease;
  -o-transition: opacity 400ms ease;
  transition: opacity 400ms ease;
}
.owl-carousel .owl-video-frame {
  position: relative;
  z-index: 1;
}
@media screen{
/* icons.css - Ionicons v2, reduziert auf die 7 tatsaechlich genutzten Symbole (15.10.2026).
   Ersetzt ionicons-2.0.1/css/ionicons.css (57 kB) + ionicons.ttf (184 kB).
   Glyphen und Metriken bytegleich zum Original (per Pruefsumme verifiziert).
   Schrift: ../fonts/ionicons-subset.woff2 (2,5 kB).
   Neues Symbol noetig? Code aus ionicons 2.0.1 hier ergaenzen UND die Schrift neu zuschneiden. */

@font-face{
    font-family:"Ionicons";
    src:url("../../files/resources/fonts/ionicons-subset.woff2") format("woff2");
    font-weight:normal;
    font-style:normal;
}

.ion, .ionicons,
.ion-android-apps:before,
.ion-android-arrow-dropup-circle:before,
.ion-arrow-right-c:before,
.ion-chevron-left:before,
.ion-chevron-right:before,
.ion-ios-email-outline:before,
.ion-ios-telephone-outline:before{ display: inline-block; font-family: "Ionicons"; speak: none; font-style: normal; font-weight: normal; font-variant: normal; text-transform: none; text-rendering: auto; line-height: 1; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }

.ion-android-apps:before { content: "\f35c"; }
.ion-android-arrow-dropup-circle:before { content: "\f364"; }
.ion-arrow-right-c:before { content: "\f10b"; }
.ion-chevron-left:before { content: "\f124"; }
.ion-chevron-right:before { content: "\f125"; }
.ion-ios-email-outline:before { content: "\f422"; }
.ion-ios-telephone-outline:before { content: "\f4b8"; }

}
@media screen{
/* Schritt 7 (15.10.2026): @import icons.css entfernt - wird per Contao-Combiner im Seiten-Template vor typo.css eingebunden. */

/* Open Sans lokal (statt Google Fonts) - 15.10.2026 */
@font-face{
    font-family:'Open Sans';
    font-style:normal;
    font-weight:300;
    font-display:swap;
    src:url(../../files/resources/fonts/open-sans/open-sans-latin-300-normal.woff2) format('woff2');
}
@font-face{
    font-family:'Open Sans';
    font-style:normal;
    font-weight:400;
    font-display:swap;
    src:url(../../files/resources/fonts/open-sans/open-sans-latin-400-normal.woff2) format('woff2');
}
@font-face{
    font-family:'Open Sans';
    font-style:normal;
    font-weight:600;
    font-display:swap;
    src:url(../../files/resources/fonts/open-sans/open-sans-latin-600-normal.woff2) format('woff2');
}
@font-face{
    font-family:'Open Sans';
    font-style:normal;
    font-weight:700;
    font-display:swap;
    src:url(../../files/resources/fonts/open-sans/open-sans-latin-700-normal.woff2) format('woff2');
}

html{
    font-size:100.0%;
}

body{
    font-family:'Open Sans',sans-serif;
    color:#545454;
    font-size:1rem;
    line-height:1.5;
}

/* Links */

a:link,
a:visited{
    color:#000;
    transition:0.2s ease;
}

a:hover,
a:focus{
    color:#f28c00;
}

/* Überschriften */

h1{
    font-size:clamp(1.25rem,3vw,2.6rem);
    line-height:1.15;
    margin:0 0 0.55em;
    font-weight:700;
    color:#111;
}

h2{
    font-size:clamp(1.15rem,2vw,1.9rem);
    line-height:1.25;
    margin:1em 0 0.45em;
    font-weight:600;
    color:#222;
}

h3{
    font-size:1.05rem;
    line-height:1.3;
    margin:1em 0 0.35em;
    font-weight:700;
    color:#333;
}

/* Fließtext */

p{
    margin:0 0 0.85em;
    line-height:1.5;
}

strong,
b{
    font-weight:700;
}

/* Listen */

ul,
ol{
    margin:0 0 1em;
    padding-left:1.3em;
}

li{
    margin-bottom:0.3em;
    line-height:1.45;
}

/* Teaser */

#teaser h2{
    text-align:center;
    text-transform:none;
}

#teaser p a:after{
    font-family:"Ionicons";
    content:'\f10b';
    display:inline-block;
    margin-left:3px;
}

/* Standardbreite Textblöcke */

.hello{
    max-width:700px;
    margin:0 auto 2em;
}

#content ul{
    padding-left:1.2em;
}

#content .left-menu ul{
    padding-left:20px;
}

/* Bilder */

.ce_text .image_container img,
.ce_image .image_container img{
    max-width:100%;
    height:auto;
    margin-bottom:1em;
}

.ce_image .image_container .caption{
    width:100%;
    max-width:100%;
}

.image_container .caption{
    margin-bottom:1em;
    font-size:0.9rem;
    line-height:1.4;
    color:#777;
}

/* Google Maps */

.ce_dlh_googlemaps{
    margin-top:50px;
}

.ce_dlh_googlemaps img{
    max-width:none !important;
}

.ce_dlh_googlemaps,
.dlh_googlemap{
    width:100% !important;
}

/* Hilfsklassen */

.invisible{
    display:none;
}

/* Formulare */

.submit{
    width:auto;
}
}
.navbar{
    margin-bottom:0;
    border-bottom:0;
    border-radius:0;
    min-height:56px;
}

/* Brand / Büro-Name */

.navbar-default .navbar-brand,
.navbar-default .navbar-brand:hover,
.navbar-default .navbar-brand:focus{
    color:#f1f1f1;
    border:0;
    text-shadow:none;
}

.navbar-brand{
    font-size:0.95rem;
    line-height:20px;
    padding:18px 12px 18px 0;
    font-weight:600;
}

/* Hauptnavigation */

.level_1.nav-main{
    display:flex;
    flex-direction:row;
    align-items:center;
    gap:0;
    padding:0;
    margin:0;
    float:right;
    color:#fff;
}

.level_1.nav-main > li{
    list-style:none;
    position:relative;
}

.level_1.nav-main > li > a,
.navbar-default .navbar-nav > li > a{
    display:block;
    color:#f1f1f1;
    font-size:0.82rem;
    line-height:20px;
    font-weight:600;
    padding:18px 12px;
    text-decoration:none;
    transition:background 0.2s ease, color 0.2s ease;
}

/* Hover / Active */

.level_1.nav-main > li > a:hover,
.level_1.nav-main > li > a:focus,
.navbar-default .navbar-nav > li > a:hover,
.navbar-default .navbar-nav > li > a:focus,
.navbar-default .navbar-nav > .open > a,
.navbar-default .navbar-nav > .open > a:focus,
.navbar-default .navbar-nav > .open > a:hover,
.navbar-default .navbar-nav > .active > a,
.navbar-default .navbar-nav > .active > a:focus,
.navbar-default .navbar-nav > .active > a:hover{
    color:#fff;
    background:rgba(0,0,0,0.65);
}

/* Dropdowns Level 2 / Level 3 */

.level_2,
.level_3,
.dropdown-menu{
    display:none;
    position:absolute;
    background:#0e0e0e;
    margin:0;
    padding:6px 0;
    min-width:190px;
    list-style:none;
    border:0;
    border-radius:0;
    box-shadow:0 10px 24px rgba(0,0,0,0.25);
    z-index:999999;
}

.level_1 > li.nav-item.submenu.has-children{
    position:relative;
}

.level_1 > li.nav-item.submenu.has-children:hover > .level_2{
    display:block;
    top:100%;
    left:0;
}

.level_2 > li.submenu.has-children{
    position:relative;
}

.level_2 > li.submenu.has-children:hover > .level_3{
    display:block;
    top:0;
    left:100%;
}

.level_2 a,
.level_3 a,
.dropdown-menu > li > a{
    display:block;
    color:#fff;
    font-size:0.82rem;
    line-height:1.35;
    font-weight:400;
    padding:9px 14px;
    white-space:nowrap;
    text-decoration:none;
    transition:background 0.2s ease;
}

.level_2 a:hover,
.level_3 a:hover,
.dropdown-menu > li > a:hover{
    background:rgba(255,255,255,0.1);
    color:#fff;
}

/* Pfeile */

.nav-arrow{
    display:inline-block;
    margin-left:6px;
    border:solid #fff;
    border-width:0 2px 2px 0;
    padding:2.5px;
    transform:rotate(45deg);
    transition:transform 0.2s ease;
}

.level_2 > li.submenu.has-children > a > .nav-arrow{
    transform:rotate(-45deg);
}

/* Konsolidierung 12.09.2026 (Phase 1, Kategorie A): Bootstrap-Dropdown-
   Fallback entfernt (frueher hier: .navbar-nav > li.dropdown:hover >
   .dropdown-menu, .dropdown-menu .dropdown-menu, die/vor-Pseudo-Elemente
   fuer ▸/▼). Das war ein aelteres Navigationssystem auf Basis von
   Bootstraps nativer .dropdown-Klasse - das aktuelle Markup verwendet
   durchgaengig level_1/level_2/nav-item und .nav-arrow, die .dropdown-
   Klasse kommt nirgends mehr vor. Falls nach dem Test doch irgendwo ein
   Nebeneffekt auftaucht: dieser Kommentar markiert genau die Stelle, an
   der der Block vorher stand. */

/* Elternpunkte mit Untermenü nicht direkt anklicken */

.nav-item.submenu.has-children > a{
    cursor:default;
    pointer-events:none;
}

.nav-item.submenu.has-children > a .nav-arrow{
    pointer-events:auto;
    cursor:pointer;
}

/* Footer-Navigation */

.footer-nav ul{
    margin:0;
    padding:0;
}

.footer-nav ul li{
    margin:0;
    padding:0;
    list-style-type:none;
    text-align:right;
}

/* Tablet / Mobile */
/* Breakpoint bewusst auf 767px gesetzt: identisch mit Bootstraps
   eingebautem grid-float-breakpoint (min-width:768px in bootstrap.min.css).
   So schalten Hamburger-Toggle (Bootstrap) und Vertikal-Stapelung (hier)
   IMMER gleichzeitig um - keine Uebergangszone mit hoher, ueberlagernder Navi mehr. */

@media only screen and (max-width:767px){

    .navbar{
        min-height:50px;
    }

    .navbar-brand{
        font-size:0.9rem;
        padding:15px 12px 15px 0;
    }

    .level_1.nav-main{
        display:block;
        flex-direction:column;
        width:100%;
        float:none;
    }

    .level_1.nav-main > li{
        display:block;
        width:100%;
    }

    .level_1.nav-main > li > a,
    .navbar-default .navbar-nav > li > a{
        padding:12px 15px;
        width:100%;
        display:block;
        font-size:0.9rem;
    }

    .level_2,
    .level_3,
    .dropdown-menu{
        position:static;
        display:none;
        min-width:100%;
        background:#0e0e0e;
        padding:0 0 0 15px;
        box-shadow:none;
    }

    .nav-item.open > .level_2,
    .level_2 > li.open > .level_3{
        display:block;
    }

    .level_2 a,
    .level_3 a,
    .dropdown-menu > li > a{
        padding:10px 15px;
        font-size:0.86rem;
    }

    .nav-item.open > a > .nav-arrow,
    .level_2 > li.open > a > .nav-arrow{
        transform:rotate(135deg);
    }
}

/* Kleine Displays */
/* Auf 767px angeglichen, damit alle Breakpoints in diesem File konsistent
   mit dem Bootstrap-Umschaltpunkt sind (siehe Kommentar oben). */

@media only screen and (max-width:767px){

    .footer-nav.pull-right{
        margin-top:2em;
        float:none !important;
    }

    .footer-nav.pull-right ul li{
        text-align:left !important;
    }
}
@media screen{
.accordion {
   
}
.accordion-element {
   border:0;
   margin-bottom: 0.5em;
  
}

.accordion-header {
    margin: 0;
    padding: 0.5em 1em;
    padding-left: 30px;
    cursor:pointer;
    border-bottom: 2px solid #f2f2f2;
    position: relative;
    font-size: 1em;
}
.accordion-header:hover {
    color: #ae0817;
}
.accordion-header:before {
    content: "+";
    font-size: 1.1em;
    font-weight: 700;
    position: absolute;
    left: 12px;
    top: 6px;
    line-height: 1;
}
.accordion-header.accordion-current:before {
    content: "\2212";
    font-size: 1.1em;
    font-weight: 700;
    position: absolute;
    left: 12px;
    top: 6px;
    line-height: 1;
}

.accordion-header.accordion-current{
    
}

.accordion-header {
}
.accordion-content {
    padding: 20px 30px 10px;
    background: #f2f2f2;
}

}

.gallery{
	overflow: hidden;
	display: block;
	background: #fff;
	margin-bottom: 2em;
	margin-left: 0;
	margin-right: 0;
	width: 100%;
}
.gallery-inner{
	margin-left: -25px;
	margin-right: -25px;
	display: block;
}

.right.carousel-control,
.left.carousel-control{
	background: transparent;
}

.gallery-horizontal{
	/* Fix 24.08.2026: vorher feste Hoehe 370px, unabhaengig vom
	   tatsaechlichen Bildformat - Bild wurde oben ausgerichtet, unten blieb
	   ein grauer Balken (klassisches Letterboxing, wie beim Hero-Slider).
	   overflow:hidden weiter oben erzeugt bereits einen eigenen
	   Block-Formatierungskontext, der sich automatisch an das hoechste
	   geflotete Kind anpasst - keine feste Hoehe noetig, das jeweils
	   groesste unbeschnittene Bild bestimmt die Hoehe von selbst. */
	width: 100%;
	display: block;
	overflow:hidden;
}

.gallery-horizontal .item img,
.gallery-horizontal .item picture{
	height:auto !important;
	max-width:100%;
}

.gallery-horizontal .item{
	float: left;
	padding: 0 15px;
}

.container{
	
}

.gallery .left,
.gallery .right{
	display: block;
	height:60px;
	width: 60px;
	display: block;
	background: #f2f2f2;
	text-align: center;
	top:50%;
	margin-top: -30px;
	color:#333;
}

/* Fix 24.08.2026: auf Mobil sollen die Pfeil-Flaechen transparent sein statt
   der hellgrauen 60x60px-Box - .left.carousel-control{background:transparent}
   weiter oben wollte das eigentlich schon leisten, wird aber von dieser
   Regel hier (gleiche Spezifitaet, aber spaeter in der Datei) ueberschrieben.
   Hier gezielt fuer <=991px zurueckgesetzt, Desktop bleibt unangetastet. */
@media only screen and (max-width:991px){
	.gallery .left,
	.gallery .right{
		background:transparent !important;
	}
}

.gallery .left:hover,
.gallery .right:hover{
	color: #ae0817
} 

.gallery .left{
	left:15px;
}

.gallery .right{
	right:15px;
}

.gallery .left i,
.gallery .right i{
	margin: 0;
	display: block;
	width: 100%;
	height: 100%;
	left:auto;
	right: auto;
	top: 15px;
	padding-top: 15px;
	font-size: 30px;
	text-align: center;
}

.col-md-6 div.accordion,
.col-md-6 div.infodata{
	
}
.layout_full{
	width: 100%;
}

.mod_metamodel_list{
	width: 100%;
}

.layout_full .item{
	display: inline-block;
	margin-left: 0px;
}

.object-data{
	margin-top: 4em;
}

.layout_full .item img{
	width: 100%;
	height: auto;
	
}

.item-inner{
	position: relative;
	padding: 0px;
	display: inline-block;
	width: 100%;
	margin-bottom: 30px;
}

.item-inner p{
	margin-bottom: 0;
}

.layout_full .item .more{
	display: none;
	position: absolute;
	bottom: 0px;
	/* Fix 25.08.2026 (v3): links UND rechts um denselben Betrag eingerueckt
	   wie das Bild selbst (20px, passend zum <p>-Padding, das den
	   gewuenschten Abstand zum Kachelrand erzeugt) - statt der Flaeche
	   die volle Breite von .item-inner zu geben (frueher width:100%,
	   danach left:0/right:0), rueckt sie jetzt exakt so weit ein wie das
	   Bild, damit beide bündig zueinander stehen. */
	left:20px;
	right:20px;
	padding:5px 0;
	background: #2e2e2e;
	opacity: 0.8;
}

.layout_full .item:hover .more{
	display: block;
}

.layout_full .item .more h4{
	font-size: 1em;
	line-height: 1.5em;
	margin:5px 10px;
	padding:0 10px 0px;
	color:#fff;
}

.pagination-outer {
	margin: 0 auto;
	display: block;
	text-align: center;
	clear: both;
}

.pagination-outer .total{
	display: none;
}

#content ul.pagination{
	margin: 2em 0 0.5em;
	padding:0;

}

.pagination > li > a,
.pagination > li > span{
	border: 0 !important;
}

.pagination > li > span{
	color:#333;
	border-bottom: 2px solid #f2f2f2 !important;
}

.pagination > li > a:link,
.pagination > li > a:visited,
.pagination > li > a:active,
.pagination > li > a:focus{
	color: #ae0817;
	background: #fff;
	border-bottom: 2px solid #fff !important;
	outline: none;
}

.pagination > li > a:hover{
	background: transparent;
	color: #ae0817;
	border-bottom: 2px solid #ae0817 !important
}

.nav-tabs li.no{
	display: none;
}

.l-arch li.l-arch{
	display: inline-block;
}

.l-visu li.l-visu{
	display: inline-block;
}

.l-aufma li.l-aufma{
	display: inline-block;
}

/* Small Devices, Tablets */
	@media only screen and (max-width : 768px) {
		
		.layout_full .item{
			display: inline-block;
			width:50%;	
		}
	}

	/* Extra Small Devices, Phones */ 
	@media only screen and (max-width :640px) {
		.layout_full .item{
			display: inline-block;
			width:50%;	
			float:left;
		}
	}

	/* Extra Small Devices, Phones */ 
	@media only screen and (max-width : 480px) {
		.layout_full .item{
			display: inline-block;
			width:100%;	
		}
	}

/* Referenzen-Filter-Basisstyling (.referenzen-controls, .referenzen-select
   etc.) ist umgezogen nach hero-redesign.css - war zuvor an zwei Stellen
   gleichzeitig gepflegt (hier UND dort), jetzt konsolidiert an einer
   einzigen Stelle. */

/* Fix 25.08.2026 (v2 - zurueckgenommen): Der 20px-Abstand zwischen Bild
   und Kachelrand ist gewuenscht (bewusstes Gestaltungselement), nicht der
   Fehler selbst - der eigentliche Fix sitzt jetzt bei .more (siehe oben:
   left/right:var(--content-indent) statt 0), das rueckt die dunkle
   Flaeche stattdessen um denselben Betrag ein, damit beide bündig
   zueinander stehen. */

/* Hinweis: Der komplette Owl-Carousel/Bootstrap-carousel-fade-Styling-Block wurde entfernt (Stand 19.08.2026) - hero-slider.js blendet .carousel-inner aus und baut eine eigene Struktur (.hero-slides), diese Regeln griffen auf nichts Sichtbares mehr. */

/* Hinweis (korrigiert 19.08.2026): Diese Owl-Carousel/carousel-fade-Regeln
   werden fuer die Startseite (hero-slider.js) NICHT mehr gebraucht, sind
   aber weiterhin AKTIV NOETIG fuer die Bildergalerien auf den einzelnen
   Referenz-Detailseiten (#slider.carousel-fade.detail-slider .owl-gallery),
   die weiterhin auf Owl Carousel basieren. Faelschlich als komplett tot
   eingestuft und entfernt gewesen - hier wiederhergestellt. Nur die
   eindeutig hero-exklusiven Popover/front-control-Regeln (in screen.css)
   bleiben zu Recht entfernt, die gibt es auf Detailseiten nicht. */

.owl-controls{
  position: absolute;
  width: 100%;
  margin:0 auto;
  top: 50%;
  height: 0;
  z-index:100;
  overflow: visible;
}

.owl-prev,
.owl-next{
  font-size: 40px;
  width: 20%;
  float: left;
  text-align: left;
  height: 42px !important;
}

.owl-prev{
  float: left;
  margin-left: 5%;
  text-align: left;
}

.owl-next{
  float: right;
  text-align: right;
  margin-right: 5%;
}


.owl-nav i{
  padding: 10px;
  color: #fff;
  
}


.slick .caption{
  
}

/* Owl-Anpassungen */

.owl-item{
  width: 1140px !important;
}

.carousel-fade .carousel-inner .item.active .owl-item {
  opacity: 0.2 !important;
  -webkit-transition: opacity 1s ease-in-out;
  -moz-transition: opacity 1s ease-in-out;
  -ms-transition: opacity 1s ease-in-out;
  -o-transition: opacity 1s ease-in-out;
  transition: opacity 1s ease-in-out;
}

.carousel-fade .carousel-inner .active .owl-item .caption{
  display: none;
  opacity: 0;

  position: absolute;
  bottom:3em;
  left: 3em;
  max-width: 300px;
  display: none;
  padding: 1em;
  background: rgba(0,0,0,0.7);
}

.carousel-fade .carousel-inner .item.active .owl-item.center{
  opacity: 1.0 !important;

}

.carousel-fade .carousel-inner .item.active .owl-item.center .caption{
  display: block;
  opacity: 1.0 !important
}


.owl-item ul,
.owl-item li{
  margin: 0;
  padding: 0;
}


.slick .caption a,
.slick .caption a:active,
.slick .caption a:link,
.slick .caption a:focus,
.slick .caption a:visited{
  color: #fff;
}

.slick .caption h4{
  line-height: 1.5em;
  font-size: 1em;
  margin: 0;
  padding:0;
  color:#fff;
}

/* Carousel Fade */

.carousel-fade .carousel-inner .item {
  opacity: 0;
  transition-property: opacity;
}

.carousel-fade .carousel-inner .active {
  opacity: 1;
}

.carousel-fade .carousel-inner .active.left,
.carousel-fade .carousel-inner .active.right {
  left: 0;
  opacity: 0;
  z-index: 1;
}

.carousel-fade .carousel-inner .next.left,
.carousel-fade .carousel-inner .prev.right {
  opacity: 1;
}

.carousel-fade .carousel-control {
  z-index: 2;
}

/*
  WHAT IS NEW IN 3.3: "Added transforms to improve carousel performance in modern browsers."
  Need to override the 3.3 new styles for modern browsers & apply opacity
*/
@media all and (transform-3d), (-webkit-transform-3d) {
    .carousel-fade .carousel-inner > .item.next,
    .carousel-fade .carousel-inner > .item.active.right {
      opacity: 0;
      -webkit-transform: translate3d(0, 0, 0);
              transform: translate3d(0, 0, 0);
    }
    .carousel-fade .carousel-inner > .item.prev,
    .carousel-fade .carousel-inner > .item.active.left {
      opacity: 0;
      -webkit-transform: translate3d(0, 0, 0);
              transform: translate3d(0, 0, 0);
    }
    .carousel-fade .carousel-inner > .item.next.left,
    .carousel-fade .carousel-inner > .item.prev.right,
    .carousel-fade .carousel-inner > .item.active {
      opacity: 1;
      -webkit-transform: translate3d(0, 0, 0);
              transform: translate3d(0, 0, 0);
    }
}


#slider .item.active{
  z-index: 1000;
}

.slick{
  height: auto !important;

}


.slick-dots li{
  display: inline-block;
  list-style-type: none;
  margin: 0;
  margin-right: 1em;
}


#content .container > .row{
	
}


#teaser p a.btn{
  display: block;
  background: #f4f4f4;
  margin: 1em auto;
  width: auto;
  max-width: 140px;
  font-size: 1em;
}



.nav-tabs{
  
  margin:0;
  padding: 0;
  border: 0;
}

.nav-tabs li{
  display: inline-block;
  text-align: center;
  list-style-type: none;
  border:0;
  padding: 0;
  margin-bottom: 0;

}

.nav-tabs>li>a{
  border-radius: 0;
  color: #fff;
  outline: none;
  height: 50px;
  padding: 15px 0;
  display: block;
  margin: 0;
  border: 0;
}

.nav-tabs>li.active>a, 
.nav-tabs>li.active>a:hover, 
.nav-tabs>li.active>a:focus,
.nav-tabs>li>a:hover{
  background: rgba(0,0,0,0.7);
  color: #fff;
  border: 0;
}

.no-padding{
	padding-left: 0px;
	padding-right: 0px;
}

.item img {
	width:100%;
	height: auto;
}


#footer{

}

img{
	max-width: 100%;
	height: auto;
}
/*! fancyBox v2.1.5 fancyapps.com | fancyapps.com/fancybox/#license */
.fancybox-wrap,
.fancybox-skin,
.fancybox-outer,
.fancybox-inner,
.fancybox-image,
.fancybox-wrap iframe,
.fancybox-wrap object,
.fancybox-nav,
.fancybox-nav span,
.fancybox-tmp
{
	padding: 0;
	margin: 0;
	border: 0;
	outline: none;
	vertical-align: top;
}

.fancybox-wrap {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 8020;
}

.fancybox-skin {
	position: relative;
	background: #f9f9f9;
	color: #444;
	text-shadow: none;
	-webkit-border-radius: 4px;
	   -moz-border-radius: 4px;
	        border-radius: 4px;
}

.fancybox-opened {
	z-index: 8030;
}

.fancybox-opened .fancybox-skin {
	-webkit-box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
	   -moz-box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
	        box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
}

.fancybox-outer, .fancybox-inner {
	position: relative;
}

.fancybox-inner {
	overflow: hidden;
}

.fancybox-type-iframe .fancybox-inner {
	-webkit-overflow-scrolling: touch;
}

.fancybox-error {
	color: #444;
	font: 14px/20px "Helvetica Neue",Helvetica,Arial,sans-serif;
	margin: 0;
	padding: 15px;
	white-space: nowrap;
}

.fancybox-image, .fancybox-iframe {
	display: block;
	width: 100%;
	height: 100%;
}

.fancybox-image {
	max-width: 100%;
	max-height: 100%;
}

#fancybox-loading, .fancybox-close, .fancybox-prev span, .fancybox-next span {
	background-image: url('../../files/resources/fancybox/fancybox_sprite.png');
}

#fancybox-loading {
	position: fixed;
	top: 50%;
	left: 50%;
	margin-top: -22px;
	margin-left: -22px;
	background-position: 0 -108px;
	opacity: 0.8;
	cursor: pointer;
	z-index: 8060;
}

#fancybox-loading div {
	width: 44px;
	height: 44px;
	background: url('../../files/resources/fancybox/fancybox_loading.gif') center center no-repeat;
}

.fancybox-close {
	position: absolute;
	top: -18px;
	right: -18px;
	width: 36px;
	height: 36px;
	cursor: pointer;
	z-index: 8040;
}

.fancybox-nav {
	position: absolute;
	top: 0;
	width: 40%;
	height: 100%;
	cursor: pointer;
	text-decoration: none;
	background: transparent url('../../files/resources/fancybox/blank.gif'); /* helps IE */
	-webkit-tap-highlight-color: rgba(0,0,0,0);
	z-index: 8040;
}

.fancybox-prev {
	left: 0;
}

.fancybox-next {
	right: 0;
}

.fancybox-nav span {
	position: absolute;
	top: 50%;
	width: 36px;
	height: 34px;
	margin-top: -18px;
	cursor: pointer;
	z-index: 8040;
	visibility: hidden;
}

.fancybox-prev span {
	left: 10px;
	background-position: 0 -36px;
}

.fancybox-next span {
	right: 10px;
	background-position: 0 -72px;
}

.fancybox-nav:hover span {
	visibility: visible;
}

.fancybox-tmp {
	position: absolute;
	top: -99999px;
	left: -99999px;
	visibility: hidden;
	max-width: 99999px;
	max-height: 99999px;
	overflow: visible !important;
}

/* Overlay helper */

.fancybox-lock {
    overflow: hidden !important;
    width: auto;
}

.fancybox-lock body {
    overflow: hidden !important;
}

.fancybox-lock-test {
    overflow-y: hidden !important;
}

.fancybox-overlay {
	position: absolute;
	top: 0;
	left: 0;
	overflow: hidden;
	display: none;
	z-index: 8010;
	background: url('../../files/resources/fancybox/fancybox_overlay.png');
}

.fancybox-overlay-fixed {
	position: fixed;
	bottom: 0;
	right: 0;
}

.fancybox-lock .fancybox-overlay {
	overflow: auto;
	overflow-y: scroll;
}

/* Title helper */

.fancybox-title {
	visibility: hidden;
	font: normal 13px/20px "Helvetica Neue",Helvetica,Arial,sans-serif;
	position: relative;
	text-shadow: none;
	z-index: 8050;
}

.fancybox-opened .fancybox-title {
	visibility: visible;
}

.fancybox-title-float-wrap {
	position: absolute;
	bottom: 0;
	right: 50%;
	margin-bottom: -35px;
	z-index: 8050;
	text-align: center;
}

.fancybox-title-float-wrap .child {
	display: inline-block;
	margin-right: -100%;
	padding: 2px 20px;
	background: transparent; /* Fallback for web browsers that doesn't support RGBa */
	background: rgba(0, 0, 0, 0.8);
	-webkit-border-radius: 15px;
	   -moz-border-radius: 15px;
	        border-radius: 15px;
	text-shadow: 0 1px 2px #222;
	color: #FFF;
	font-weight: bold;
	line-height: 24px;
	white-space: nowrap;
}

.fancybox-title-outside-wrap {
	position: relative;
	margin-top: 10px;
	color: #fff;
}

.fancybox-title-inside-wrap {
	padding-top: 10px;
}

.fancybox-title-over-wrap {
	position: absolute;
	bottom: 0;
	left: 0;
	color: #fff;
	padding: 10px;
	background: #000;
	background: rgba(0, 0, 0, .8);
}

/*Retina graphics!*/
@media only screen and (-webkit-min-device-pixel-ratio: 1.5),
	   only screen and (min--moz-device-pixel-ratio: 1.5),
	   only screen and (min-device-pixel-ratio: 1.5){

	#fancybox-loading, .fancybox-close, .fancybox-prev span, .fancybox-next span {
		background-image: url('../../files/resources/fancybox/fancybox_sprite@2x.png');
		background-size: 44px 152px; /*The size of the normal image, half the size of the hi-res image*/
	}

	#fancybox-loading div {
		background-image: url('../../files/resources/fancybox/fancybox_loading@2x.gif');
		background-size: 24px 24px; /*The size of the normal image, half the size of the hi-res image*/
	}
}
/* Schritt 7 (15.10.2026): @imports entfernt - typo, nav, accordion, gallery, references, home, fancybox werden in den Seiten-Templates per Contao-Combiner in derselben Reihenfolge zu einer Datei gebuendelt. */

/* =========================================================
   Bräuer | Architekten – screen.css 2.0
   Layout, Abstände, Slider, Header, Footer
   ========================================================= */

*,
*:before,
*:after{
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    background:#f4f4f4;
    position:relative;
}

/* Grundflächen */

.navbar,
#slider,
#slider-nav{
    background:#2e2e2e;
    border:0;
}

/* Kopfbild */

#kopfbild{
    overflow:hidden;
}

#kopfbild .ce_image,
#kopfbild .content-image{
    margin-top:90px;
    width:100%;
    position:relative;
    max-height:400px;
    overflow:hidden;
}

#kopfbild .ce_image img,
#kopfbild .content-image img{
    display:block;
    margin:0;
    width:100%;
    height:auto;
}

#kopfbild iframe{
    padding-top:90px;
    width:100%;
}

/* Hauptinhalt */

#content{
    padding:4.5rem 0 3rem;
    min-height:600px;
    background:#fff;
}

#content .content{
    max-width:1180px;
}

/* Silbentrennung site-weit: Selektor bewusst auf .rte verkuerzt (statt nur .content .rte),
   damit sie auch auf Templates ohne .content-Huelle greift (Startseite, Referenz-Detail,
   Referenz-Liste). Die Padding-Werte bleiben nur innerhalb von .content wirksam. */
.rte{
    hyphens: auto;
    -webkit-hyphens: auto;
    -moz-hyphens: auto;
}

.content .rte{
    max-width:100%;
  	padding-left: 40px;
  	padding-right: 40px;
  	padding-top: 20px;
}

.content .rte > *:first-child{
    margin-top:0;
}

/* Gleiche optische Einrueckung wie bei .content .rte (Aufmass 2D/3D etc.),
   hier auf den gemeinsamen Teaser-Wrapper der Startseite angewendet, damit
   Intro-Text, Icon-Kacheln-Grid und alle folgenden Abschnitte gemeinsam
   den gleichen Versatz bekommen statt nur ein einzelnes Element. */
#teaser .col-md-12{
    padding-left: 40px;
    padding-right: 40px;
    padding-top: 20px;
}

@media only screen and (max-width: 640px){
    #teaser .col-md-12{
        padding-left: 20px;
        padding-right: 20px;
    }
}

.ce_metamodel_content{
    margin-top:2rem;
}

/* Spalten / Artikel */

#content .ce_colsetStart{
    margin-bottom:3rem;
    padding-bottom:3rem;
    border-bottom:1px solid #e6e6e6;
}

#content .ce_colsetStart:last-child{
    border-bottom:0;
}

#content .ce_colsetStart .col-sm-4 .ce_text{
    margin-bottom:2rem;
}

/* Teaser */

#teaser{
    padding:2.5rem 0;
    background:#fff;
}

#teaser .mod_article{
    padding-bottom:2.5rem;
}

/* Slider */

#slider{
    overflow-y:hidden;
    height:585px;
    margin-top:90px;
}

#slider .btn,
#slider .btn:focus{
    background:rgba(0,0,0,0.7);
    color:#fff;
    border-radius:0;
    border:0;
    box-shadow:none;
    border-color:transparent;
    outline:0;
}

/* Front-control/Popover-Regeln entfernt (Stand 19.08.2026): Der alte
   "Mehr"-Button nutzte Bootstraps Popover-Feature auf dem inzwischen
   ausgeblendeten Owl-Carousel-Markup der Startseite. hero-slider.js baut
   den Mehr-Link jetzt eigenständig (.hero-more), diese beiden Regeln
   griffen auf nichts Sichtbares mehr.
   WICHTIG (korrigiert): Die .owl-item-Basisregeln direkt darunter wurden
   faelschlich mitentfernt und hier wiederhergestellt - sie werden von den
   Bildergalerien auf den Referenz-Detailseiten weiterhin aktiv gebraucht,
   unabhaengig vom Popover-Feature. */

.owl-item{
    height:100%;
}

.owl-item ul li{
    list-style-type:none;
}

/* Video */

.active .video{
    width:100%;
    height:585px;
    display:block !important;
    position:relative;
    z-index:6000;
}

.active .video iframe{
    width:100%;
    height:100%;
    z-index:5001;
}

/* Header Topbar */

.header_topbar{
    position:fixed;
    top:0;
    left:0;
    right:0;
    background:#0e0e0e;
    color:#fff;
    font-size:0.82rem;
    line-height:1.2;
    z-index:1030;
}

.header_topbar a{
    color:#fff;
    text-decoration:none;
}

.header_topbar a:hover{
    color:#fff;
    text-decoration:underline;
}

.header_topbar .container{
    display:flex;
    justify-content:space-between;
    align-items:center;
}

.header_topbar .header_topbar_contact,
.header_topbar .header_topbar_lexikon{
    display:flex;
    align-items:center;
    padding:0.55rem 0;
}

.header_topbar .header_topbar_contact{
    width:-webkit-fill-available;
}

/* .header_topbar_contact img-Regel entfernt (Stand 19.08.2026) - die
   Telefon-/E-Mail-Icons sind seit der Umstellung auf Ionicons keine
   <img>-Tags mehr, sondern <span>-Elemente. Aktuelles Icon-Styling liegt
   in hero-redesign.css. */

.header_topbar .header_topbar_contact > *{
    padding-right:10px;
}

.header_topbar .header_topbar_lexikon{
    justify-content:flex-end;
}

.navbar-fixed-top{
    top:42px;
}

/* Footer */

#footer{
    background:#f4f4f4;
    border-top:0;
    padding:3rem 0;
}

#footer .col-sm-4 p strong{
    font-weight:600;
}

#footer a:link,
#footer a:visited{
    color:#545454;
}

#footer a:hover,
#footer a:focus{
    color:#000;
}

/* Team */

.team .col-md-3 a{
    display:block;
    width:100%;
    height:auto;
}

/* Back to top */

#back-top{
    position:fixed;
    bottom:20px;
    right:20px;
    padding:3px;
    z-index:1000;
}

#back-top a{
    font-size:34px;
    opacity:0.75;
    transition:opacity 0.2s ease;
}

#back-top a:hover{
    opacity:1;
}

/* Lexikon / Glossar */

.grouplist ul{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    margin-bottom:2rem;
    padding-left:0;
}

.grouplist ul li{
    list-style:none;
    text-align:center;
    padding:5px 12px !important;
    margin:0 3px 10px;
}

.grouplist ul .inactive{
    border:1px solid lightgrey;
    color:lightgrey;
}

.grouplist ul .active{
    border:1px solid #000;
    color:#000;
}

.grouplist ul .active a{
    color:#000;
}

.group .letter{
    font-size:2rem;
    font-weight:700;
    border:1px solid;
    background-color:#2e2e2e;
    color:#fff;
    padding:10px;
    margin-top:5px;
}

.group .item span{
    font-size:1rem;
    font-weight:400 !important;
    color:#010101;
}

.group .item a{
    padding-left:5px;
}

.group h4{
    margin-bottom:5px;
}

/* Große Bildschirme */
/* .front-control-Regel hier entfernt (Stand 19.08.2026), siehe Hinweis
   weiter oben in dieser Datei. */

/* Large Devices */

@media only screen and (max-width:1200px){

    #slider{
        height:482px;
    }

    .owl-item{
        width:940px !important;
    }
}

/* Medium Devices */

@media only screen and (max-width:992px){

    #slider{
        height:369px;
    }

    .owl-item{
        width:720px !important;
    }

    .owl-prev{
        float:left;
        margin-left:2%;
        text-align:left;
    }

    .owl-next{
        float:right;
        text-align:right;
        margin-right:2%;
    }

    #content{
        padding:3.5rem 0 2.5rem;
    }
}

/* Tablets */

@media only screen and (max-width:768px){

    #slider{
        height:256px;
    }

    .owl-item{
        width:500px !important;
    }

    .caption{
        display:none;
    }

    .owl-controls{
        top:50%;
    }

    .owl-prev,
    .owl-next{
        font-size:20px;
    }

    .bootstrap_customizable .float_above{
        width:100%;
        display:block;
        text-align:center;
    }

    #teaser p a.btn{
        margin-bottom:40px;
    }

    #content{
        padding:3rem 0 2rem;
    }
}

/* Mobile Topbar */

@media only screen and (max-width:600px){

    .header_topbar .container{
        justify-content:flex-end;
    }

    .header_topbar .header_topbar_contact{
        display:none;
    }

    .navbar-fixed-top{
        top:41px;
    }
}

/* Phones */

@media only screen and (max-width:480px){

    #slider{
        height:auto;
    }

    .owl-controls{
        top:40%;
    }

    .owl-prev,
    .owl-next{
        font-size:20px;
    }

    .owl-item{
        width:320px !important;
    }

    .carousel-fade .carousel-inner .item.active .owl-item.center .caption{
        display:none;
    }

    .navbar-default .navbar-brand{
        font-size:1em;
    }

    .mod_metamodel_list{
        margin-top:40px;
    }

    #slider .mod_metamodel_list{
        margin-top:0;
    }

    #content{
        margin-top:0;
        padding:2.5rem 0 2rem;
    }

    .nav-tabs>li>a{
        padding:9px 0;
        height:38px;
    }
}

/* iPhone Retina */

@media only screen and (max-width:320px){

}
/* Schritt 9 (15.10.2026): 86 von 132 !important entfernt. Jede Entfernung wurde per Stilvergleich
   (alle Seiten der Sitemap, 375/768/1000/1200 px) als wirkungslos bestaetigt. Die verbleibenden 46 !important
   sind noetig: sie schlagen Altregeln aus nav.css/screen.css/Bootstrap oder betreffen Hover-/Zustands- und Slider-Regeln. */

/* hero-redesign.css - Header/Logo/Hero-Überarbeitung, ab-braeuer.de */
/* Wird NACH nav.css und screen.css eingebunden, überschreibt gezielt einzelne Regeln */

/* ============ 1. Logo / Navbar ============ */

.navbar{
    background-color:#f1efe8;
    border-bottom:1px solid #1a1a1a;
}

.navbar-brand{
    position:relative;
    display:flex;
    align-items:center;
    gap:15px;
    padding:14px 12px 20px 40px;
    height:auto;
}

.navbar-brand::after{
    content:"";
    position:absolute;
    left:40px;
    bottom:0;
    width:190px;
    height:4px;
    background:#1a1a1a;
}

.navbar-brand .brand-name{
    font-size:1.15rem;
    font-weight:700;
    letter-spacing:0.5px;
    color:#1a1a1a;
}

.navbar-brand .brand-divider{
    display:inline-block;
    width:1px;
    height:30px;
    background:#1a1a1a;
    align-self:center;
}

.navbar-brand .brand-sub{
    font-size:0.7rem;
    line-height:1.25;
    color:#1a1a1a;
    font-weight:400;
}

/* Schwarzer Balken unter dem Logo, wie im Original-Markenzeichen - siehe .navbar-brand::after weiter unten */

.level_1.nav-main > .nav-item > .nav-link,
.navbar-toggle .icon-bar{
    color:#1a1a1a;
}

.navbar-toggle{
    border-color:#1a1a1a;
}

.navbar-toggle .icon-bar{
    background-color:#1a1a1a;
}

/* ============ 2. Hero-Grundgerüst ============ */

/* ============ 0. Silbentrennung site-weit ============ */
/* hyphens wird als Eigenschaft vererbt, gilt dadurch automatisch für die
   gesamte Seite (Überschriften, Fließtext, Listen etc.). Setzt lang="de"
   voraus, das bereits im <html>-Tag steht. */

/* Hinweis: Silbentrennung ist bereits site-weit über .rte{hyphens:auto} in
   screen.css abgedeckt (greift auf alle RTE-Textblöcke inkl. Überschriften
   darin). Keine zusätzliche Regel hier nötig. */

:root{
    --hero-h: clamp(300px, 42vw, 580px);
    --hero-w: min(100%, calc(var(--hero-h) * 1.95));
    --hero-gap: calc((100% - var(--hero-w)) / 2);
    --hero-gray: rgb(71,70,68);

    /* Gemeinsame Bezugsgrößen für den fixierten Header (Abschnitt 16:
       Kontaktzeile 35px + Hauptnavigation 70px). Jede Stelle im CSS, die
       Platz für den fixierten Header reservieren muss (Kopfbild, Slider,
       #content-Einstieg), verweist auf diese EINE Variable statt eigene
       feste Zahlen zu pflegen. Ändert sich die Header-Höhe künftig, reicht
       eine Anpassung hier - alles andere zieht automatisch mit. */
    --header-height: 105px;

    /* Gemeinsamer horizontaler Einzug für Überschriften/Fließtext
       (Abschnitt 15) - ebenfalls zentral, aus demselben Grund. */
    --content-indent: 20px;
}

.hero-wrapper{
    position:relative;
}

#slider{
    position:relative;
    /* Fix 24.08.2026 (v2): screen.css setzt selbst mehrere feste
       #slider-Hoehen (585px unconditional + 482/369/256px/auto in vier
       alten Breakpoints, Reste der Owl-Carousel-Aera) - die wurden bisher
       von unserer eigenen height-Regel hier stillschweigend ueberschrieben.
       Ohne eigene height-Angabe (nur aspect-ratio, wie im ersten Versuch)
       kommt je nach Breite wieder eine dieser alten Fixwerte zum Zug -
       daher hier width/height explizit mit !important gegen alle
       Breakpoints abgesichert. */
    width:100% !important;
    aspect-ratio:1.95 / 1 !important;
    height:auto !important;
    /* Max-Breite fuer grosse Bildschirme (24.08.2026 v3): nutzt bewusst
       dieselbe --hero-w-Formel, die schon fuer die Tab-Leiste (.hero-strip)
       existiert (min(100%, hero-h * 1.95), hero-h gedeckelt bei 580px ->
       Maximum ca. 1131px) - dadurch bleiben Slider-Box und Tab-Leiste bei
       jeder Breite exakt gleich breit und zentriert. */
    max-width:var(--hero-w) !important;
    margin-left:auto !important;
    margin-right:auto !important;
    overflow:hidden;
    background:var(--hero-gray);
}

.hero-slides{
    position:absolute;
    inset:0;
}

.hero-slide{
    position:absolute;
    inset:0;
    opacity:0;
    transition:opacity 0.8s ease;
}

.hero-slide.is-visible{
    opacity:1;
}

.hero-slide picture,
.hero-slide img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center center;
}

#slider::before{
    content:"";
    position:absolute;
    top:0;
    left:var(--hero-gap);
    right:var(--hero-gap);
    height:100px;
    background:linear-gradient(to bottom, rgba(10,10,10,0.55), rgba(10,10,10,0));
    z-index:10;
    pointer-events:none;
}

#slider::after{
    content:"";
    position:absolute;
    bottom:0;
    left:var(--hero-gap);
    right:var(--hero-gap);
    height:190px;
    background:linear-gradient(to top, rgba(10,10,10,0.65), rgba(10,10,10,0));
    z-index:10;
    pointer-events:none;
}

/* Farbverläufe links/rechts am Bildrand entfernt (Wunsch: klare, harte Kante statt Überblendung) */

/* Verläufe links/rechts entfernt - reiner Grauton (--hero-gray) statt Verlauf, für exakten Farbabgleich mit der Leiste darunter */

/* ============ 3. Referenztitel: oben links ============ */

.hero-caption{
    position:absolute;
    left:calc(var(--hero-gap) + 24px);
    top:48px;
    max-width:260px;
    z-index:20;
    pointer-events:none;
}

.hero-caption a{
    display:inline-block;
    font-size:0.8rem;
    font-weight:500;
    color:#fff;
    text-shadow:0 1px 3px rgba(0,0,0,0.55);
    text-decoration:none;
    line-height:1.4;
    pointer-events:auto;
}

/* ============ 4. Shortcut "Mehr": oben rechts ============ */

.hero-more-wrap{
    position:absolute;
    right:calc(var(--hero-gap) + 24px);
    top:48px;
    z-index:20;
}

#slider .hero-more{
    display:inline-block;
    background:rgba(0,0,0,0.4);
    border:1px solid rgba(255,255,255,0.45);
    color:#fff;
    border-radius:20px;
    font-size:0.78rem;
    padding:6px 14px;
    text-decoration:none;
    white-space:nowrap;
}

#slider .hero-more:hover{
    color:#ff8c1a;
    border-color:#ff8c1a;
}

/* ============ 5. Pfeile: vorheriges / nächstes Foto ============ */

.hero-arrow{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    z-index:20;
    width:38px;
    height:38px;
    border-radius:50%;
    background:rgba(0,0,0,0.35);
    border:1px solid rgba(255,255,255,0.45);
    color:#fff;
    font-size:1.4rem;
    font-weight:700;
    line-height:36px;
    text-align:center;
    cursor:pointer;
    padding:0;
}

.hero-arrow:hover{
    background:rgba(0,0,0,0.55);
}

.hero-arrow-prev{ left:calc(var(--hero-gap) + 16px); }
.hero-arrow-next{ right:calc(var(--hero-gap) + 16px); }

/* ============ 6. H1 im Hero: unten links, gestaffelt ============ */

.hero-heading{
    position:absolute;
    left:calc(var(--hero-gap) + 20px);
    bottom:24px;
    z-index:30;
    margin:0;
    color:#fff;
    text-align:left;
    background:rgba(0,0,0,0.5);
    padding:10px 14px;
    display:inline-block;
    max-width:480px;
}

.hero-heading span{
    display:block;
    text-shadow:0 1px 4px rgba(0,0,0,0.55);
    font-weight:500;
    line-height:1.5;
    font-size:1.25rem;
}

/* ============ 7. Leiste: 3 Tabs + kontrastierender CTA ============ */

#slider-nav{
    /* Fix 25.08.2026 (v2): nicht der Cremeton der oberen Navi, sondern
       derselbe Grauton wie der Seitenhintergrund neben dem Hero-Bild
       (body{background:#f4f4f4}) - dadurch wirken die Flaechen links/
       rechts von Bild und Tab-Leiste durchgaengig gleich, statt dass die
       Tab-Leiste einen eigenen, abweichenden Rahmen bekommt. Die
       einzelnen Tab-Kacheln selbst bleiben Creme (siehe .hero-strip-tab). */
    background:#f4f4f4;
    position:relative;
}

#slider-nav::before{
    content:"";
    position:absolute;
    top:0;
    left:0;
    right:0;
    height:1px;
    background:rgba(255,255,255,0.55);
}

.hero-strip{
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    margin:0 auto;
    padding:0;
    max-width:var(--hero-w);
    list-style:none;
}

#slider-nav .hero-strip-tab{
    text-align:center;
    /* Fix 25.08.2026: an den Cremeton der Hauptnavi (.navbar{#f1efe8})
       angeglichen - vorher #ece9e2, ein Tick dunkler/grauer, dadurch
       wirkten die beiden inaktiven Tabs uneinheitlich zur Nav-Leiste
       darueber. */
    background:#f1efe8;
    border:1px solid #c9c5ba;
}

#slider-nav .hero-strip-tab.active{
    /* Fix 25.08.2026 (v3): wieder ein kraeftigerer Beigeton (dunkler als
       v2s #ddd2b6), damit weisse Schrift lesbar bleibt - "etwas dunkler"
       bezog sich auf den Ton, nicht darauf, dass die Schrift dunkel
       werden sollte. */
    background:#8c8168 !important;
    border:1px solid #c9c5ba;
}

#slider-nav .hero-strip-tab.active a{
    background:transparent !important;
}

#slider-nav .hero-strip-cta{
    background:#ae0817;
}

#slider-nav .hero-strip-tab a{
    display:block;
    padding:16px 8px;
    font-size:0.85rem;
    font-weight:500;
    color:#5a5a56;
    text-decoration:none;
}

#slider-nav .hero-strip-tab.active a,
#slider-nav .hero-strip-tab:hover a{
    /* Fix 25.08.2026 (v3): zurueck auf Weiss - der neue, wieder dunklere
       Beige-Hintergrund traegt weisse Schrift gut. */
    color:#fff;
}

/* Hover-Hintergrund mit demselben Beigeton wie der aktive Tab. */
#slider-nav .hero-strip-tab:hover{
    background:#8c8168 !important;
}

#slider-nav .hero-strip-cta a{
    display:block;
    padding:16px 8px;
    text-align:center;
    font-size:0.9rem;
    font-weight:600;
    color:#fff;
    text-decoration:none;
}

#slider-nav .hero-strip-cta a:hover{
    background:#8c0612;
    color:#fff;
}

/* ============ 8. Responsive ============ */

@media only screen and (max-width:1200px) and (min-width:768px){
    .hero-strip{
        grid-template-columns:1fr 1fr;
        grid-template-rows:auto auto;
    }
}

@media only screen and (max-width:767px){

    .hero-heading{
        bottom:16px;
        max-width:calc(100% - 40px);
    }

    .hero-heading span{
        font-size:1rem;
    }

    /* Kontakt ganz oben, die drei Themen darunter gestapelt */
    .hero-strip{
        grid-template-columns:1fr;
    }

    .hero-strip-cta{
        order:-1;
    }

    .navbar-brand::after{
        width:150px;
    }
}

/* ============ 9. Lexikon-Liste: "weiterlesen" untergeordnet zum Titel ============ */

.mod_glossary .more{
    margin-top:6px;
}

.mod_glossary .more a{
    font-size:0.75rem;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:0.5px;
    color:#ae0817;
    text-decoration:none;
}

.mod_glossary .more a:hover{
    text-decoration:underline;
}

/* ============ 10. Kontaktzeile: Creme statt Schwarz, passend zur neuen Navbar ============ */

.header_topbar{
    background:#f1efe8;
    color:#1a1a1a;
    border-bottom:1px solid #d8d5cd;
    border-top:5px solid var(--hero-gray);
}

.header_topbar .header_topbar_contact{
    margin-left:25px;
}

.header_topbar a{
    color:#1a1a1a;
}

.header_topbar a:hover{
    color:#ae0817;
    text-decoration:underline;
}

.header_topbar .header_topbar_contact .icon{
    font-size:15px;
    color:#ae0817;
    margin-right:4px;
    vertical-align:-2px;
}

/* ============ 11. Einfamilienhaus-Detailfilter: Sichtbarkeit absichern ============ */

.referenzen-controls[hidden]{
    display:none;
}

.referenzen-controls-efh{
    margin-top:8px;
}

.referenzen-control-checkbox label{
    display:flex;
    align-items:center;
    gap:6px;
    font-weight:normal;
}

/* ============ 12. Referenzen-Filter: Basis-Styling (konsolidiert aus references.css) ============ */
/* Dieser Block war zuvor doppelt gepflegt - einmal hier, einmal in
   references.css. Jetzt an einer einzigen Stelle zusammengeführt,
   inklusive der ursprünglichen benutzerdefinierten Pfeil-Grafik. */

.referenzen-controls{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    align-items:flex-end;
    gap:24px;
    margin:0 0 2em;
}

.referenzen-control{
    display:flex;
    flex-direction:column;
    text-align:left;
}

.referenzen-control label{
    margin-bottom:4px;
    color:#666;
    font-size:0.85em;
}

.referenzen-select{
    width:220px;
    max-width:100%;
    padding:8px 32px 8px 12px;
    background:#fff;
    border:1px solid #ddd;
    border-radius:2px;
    color:#333;
    font-size:0.9em;
    cursor:pointer;
    -webkit-appearance:none;
    -moz-appearance:none;
    appearance:none;
    background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='%23ae0817' d='M5.5 7.5l4.5 4.5 4.5-4.5z'/%3E%3C/svg%3E");
    background-repeat:no-repeat;
    background-position:right 10px center;
    background-size:16px;
}

.referenzen-select:hover,
.referenzen-select:focus{
    border-color:#ae0817;
    outline:none;
}

@media only screen and (max-width:600px){
    .referenzen-controls{
        flex-direction:column;
        align-items:stretch;
    }

    .referenzen-control{
        width:100%;
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:10px;
    }

    .referenzen-control label{
        flex:0 0 auto;
        white-space:nowrap;
    }

    .referenzen-select{
        width:auto;
        flex:1 1 auto;
        min-width:0;
    }
}

/* ============ 13. Hauptnavigation: Dropdown-Pfeile ausblenden ============ */
/* Die Pfeile neben Menüpunkten mit Untermenü (.nav-arrow) machen die Navi
   unnötig breiter. Aufklappen per Hover funktioniert unabhängig davon
   weiter, das ist reine CSS-Ausblendung ohne Funktionsverlust. */

.nav-arrow{
    display:none;
}

/* ============ 14. Lexikon-Übersicht: Suchbegriff vs. Teasertext differenzieren ============ */
/* Beide Elemente bekommen explizit margin:0/padding:0, damit sie garantiert
   dieselbe linke Kante haben (behebt den leichten Linksüberstand des
   Teasertexts, der von Browser-Standardwerten für <h4> kam). */

.group .letter{
    margin-bottom:14px;
}

.group .item{
    padding-left:10px;
    margin-bottom:20px;
}

.group h4{
    margin:0 0 4px;
    padding:0;
    font-size:1.1rem;
}

/* Die Fettung sitzt am inneren <span itemprop="headline">, nicht direkt am
   h4 - eine bestehende Regel (.group .item span{font-weight:400!important})
   war spezifischer als unser vorheriger Versuch und hat gewonnen. Hier mit
   ausreichender Spezifität gezielt dagegengesetzt. */
.group .item h4 span{
    font-weight:700 !important;
    color:#111;
}

/* Bestehende 5px-Innenabstand-Regel für Links innerhalb .item (betrifft
   sowohl den Suchbegriff-Link als auch "Weiterlesen") auf 0 setzen, damit
   beide Ebenen exakt an derselben Kante starten. */
.group .item a{
    padding-left:0;
}

.group .item .ce_text{
    margin:0;
    padding:0;
}

.group .item .ce_text p{
    margin:0;
    padding:0;
    font-size:0.9rem;
    font-weight:400;
    color:#555;
}

/* ============ 15. Textbereich: generelle, nicht-additive Einzugslösung ============ */
/* Grundproblem der bisherigen Versuche: Bootstrap-Spalten (col-md-4,
   col-md-8, col-md-12 ...) UND das alte Theme (#teaser, .content .rte)
   bringen jeweils eigene, unterschiedliche Innenabstaende mit. Jede neue
   20px-Regel obendrauf hat sich mit diesen bestehenden Quellen addiert -
   je nachdem, in welcher Spalten-Verschachtelung ein Text gerade steckt,
   kam etwas anderes heraus (35px hier, 60px dort, 5px woanders).
   Deshalb jetzt umgekehrt: ERST alle bekannten Abstandsquellen innerhalb
   von #teaser und #content site-weit auf 0, DANACH genau eine einzige,
   bewusste 20px-Schicht. Keine Sonderregeln pro Seitentyp mehr noetig -
   das gilt jetzt unabhaengig davon, ob ein Text in einer 12-, 8-, 4- oder
   3-spaltigen Bootstrap-Zelle steckt. */

/* Schritt 1: alle bekannten Abstandsquellen auf 0 */

#teaser,
#teaser .col-md-12,
.content .rte{
    padding:0;
}

/* Bootstraps eigener .container-Wrapper (direkt unter #content) hat
   serienmäßig sein eigenes 15px-Padding - bisher übersehen, da nur
   Spalten und Zeilen behandelt wurden, nicht der äußere Container selbst.
   margin:0 auto (Zentrierung) bleibt unangetastet, nur das Padding weicht. */
#content > .container{
    padding-left:0;
    padding-right:0;
}

#teaser .row,
#content .row,
.container.pt-4 .row,
.layout_full .row{
    margin-left:0;
    margin-right:0;
}

#teaser [class*="col-"],
#content [class*="col-"],
.container.pt-4 [class*="col-"],
.layout_full [class*="col-"]{
    padding-left:0;
    padding-right:0;
}

/* Schritt 2: genau eine 20px-Schicht, direkt auf Ueberschriften/Fliesstext -
   greift jetzt ueberall gleich, unabhaengig von der Spalten-Verschachtelung
   darueber, weil Schritt 1 alle anderen Quellen bereits neutralisiert hat. */

#teaser h1,
#teaser h2,
#teaser h3,
#teaser h4,
#teaser p,
#content h1,
#content h2,
#content h3,
#content h4,
#content p,
.container.pt-4 h1,
.container.pt-4 h2,
.container.pt-4 h3,
.container.pt-4 h4,
.container.pt-4 p,
.layout_full h1,
.layout_full h2,
.layout_full h3,
.layout_full h4,
.layout_full p{
    padding-left:var(--content-indent) !important;
    padding-right:var(--content-indent) !important;
}

/* Abstand zum Kopfbild: einmalig oben am ersten Element nach dem Bild,
   nicht zwischen jeder einzelnen Ueberschrift. */
#teaser .col-md-12{
    padding-top:var(--content-indent);
}

.mod_article:has(> .content-image) + .mod_article > h1,
.mod_article:has(> .content-image) + .mod_article > h2,
.mod_article:has(> .content-image) + .mod_article > h3,
.mod_article:has(> .content-image) + .mod_article > h4{
    margin-top:20px;
}

/* ============ 16. Header: feste Höhen + einheitliches 20px-Kantensystem ============ */
/* Feste Pixel-Werte statt relativer Einheiten (rem/%), damit Position und
   Höhe bei jeder Bildschirmgröße/Skalierung exakt gleich bleiben - kein
   Springen der Elemente. Beide Zeilen als Flex-Container mit
   align-items:center, damit der Inhalt bei fester Höhe immer sauber
   vertikal zentriert bleibt, unabhängig von seiner eigenen Höhe. */

.header_topbar{
    height:35px;
}

.header_topbar .container{
    height:35px;
    padding-left:20px;
    padding-right:20px;
}

.header_topbar .header_topbar_contact,
.header_topbar .header_topbar_lexikon{
    height:35px;
    padding:0;
}

.navbar{
    height:70px;
}

.navbar .container{
    height:70px;
    padding-left:20px;
    padding-right:20px;
}

.navbar-header{
    height:70px;
}

/* Logo: eigenes 40px-Links-Padding entfernt - der linke Abstand kommt jetzt
   einheitlich vom Container (20px), nicht mehr zusätzlich vom Logo selbst. */
.navbar-brand{
    padding-left:0;
}

.navbar-brand::after{
    left:0;
}

.level_1.nav-main{
    height:70px;
    align-items:center;
}

/* .navbar-fixed-top-Versatz auf allen Bildschirmgrößen einheitlich exakt
   auf die neue, feste 35px-Höhe der Kontaktzeile abgestimmt - überschreibt
   die bisher unterschiedlichen Werte je Breakpoint in screen.css (42px/
   41px), da beide Zeilen jetzt fest und nicht mehr größenabhängig sind. */
.navbar-fixed-top{
    top:35px;
}

/* Nachkorrektur: Logo und Lexikon-Link haben die 20px vom Container aus
   irgendeinem Grund nicht zuverlässig geerbt (vermutlich float-bedingt
   beim Logo). Deshalb hier direkt auf die beiden Elemente selbst gesetzt -
   eindeutiger, unabhängig von Vererbung durch Container/Float-Verhalten. */

.navbar-header{
    padding-left:20px;
    margin-left:0 !important;
    margin-right:0 !important;
}

.header_topbar_lexikon{
    padding-right:20px !important;
    margin-left:0;
    margin-right:0;
}

/* ============ 17. Header-Abstand: alle Fundstellen auf gemeinsame Variable umgestellt ============ */
/* Ersetzt drei unabhaengig voneinander fest eingetragene 90px-Werte
   (Kopfbild-Bild, Kopfbild-iframe, Slider - Letzterer wird von Homepage-
   Hero UND Referenz-Detailseiten-Galerie gemeinsam genutzt) sowie die vier
   abgestuften #content-Werte (72/56/48/40px) durch die eine zentrale
   --header-height-Variable. Keine Bildschirmgroessen-Abstufung mehr noetig,
   da der Header jetzt bei jeder Breite konstant 105px hoch ist. */

#kopfbild .ce_image,
#kopfbild .content-image{
    margin-top:var(--header-height);
}

#kopfbild iframe{
    padding-top:var(--header-height);
}

#slider{
    margin-top:var(--header-height) !important;
}

/* Nur ansetzen, wenn KEIN #kopfbild vorausgeht - #kopfbild bringt bereits
   selbst die volle Header-Reserve mit (Regel oben), #content direkt danach
   würde sonst nochmal 105px oben drauflegen und eine unnötige Lücke
   erzeugen (genau das Problem bei den Referenzen-Templates). */
body:not(:has(#kopfbild)) #content{
    padding-top:var(--header-height);
}

@media only screen and (max-width:992px){
    body:not(:has(#kopfbild)) #content{
        padding-top:var(--header-height);
    }
}

@media only screen and (max-width:768px){
    body:not(:has(#kopfbild)) #content{
        padding-top:var(--header-height);
    }
}

@media only screen and (max-width:600px){
    body:not(:has(#kopfbild)) #content{
        padding-top:var(--header-height);
    }
}

/* ============ 18. Navi: Umschaltpunkt an tatsächliche Breite angepasst ============ */
/* Bug (bereits vor unseren Änderungen vorhanden): Zwischen 767-992px war
   weder Burger-Menü noch volle Navi sichtbar. Ursache: Bootstraps
   eingebauter Umschaltpunkt (768px) ist für eine schlankere Standard-Navi
   kalkuliert - unsere angepasste Version (Logo mit Untertext, größere
   Schrift, mehr Innenabstand je Menüpunkt) braucht schlicht mehr Platz und
   passt zwischen 768-991px nicht mehr sauber in eine Zeile.
   Lösung: Der gestapelte "Mobil-Stil" aus nav.css (garantiert immer breiten-
   unabhängig, da Menüpunkte volle Breite/untereinander) gilt jetzt bis
   991px statt nur bis 767px - keine Lücke mehr, die Navi ist immer in
   irgendeiner Form sichtbar. */

/* ============ 18b. Mobile Navi: kompletter Reset statt Einzel-Patches ============ */
/* Nach drei gescheiterten Einzel-Patches (Hintergrund, Hoehe, Hover) das
   Problem an der Wurzel geloest: nav.css enthaelt mehrere fuer die
   einzeilige DESKTOP-Navi gedachte Regeln, die NIE auf Desktop-Breiten
   begrenzt wurden (kein @media drumherum) - u.a. Flex-Row-Layout, feste
   Hoehe, CSS-only Hover-Aufklappen der Untermenues, und sogar
   pointer-events:none auf Menuepunkten mit Kindern. Jede dieser Regeln ist
   spezifischer als ein einfacher Reset und gewinnt daher einzeln betrachtet
   immer wieder. Statt weiter Einzelfaelle zu jagen: hier ALLES, was fuer
   die gestapelte mobile Navi relevant ist, mit !important hart auf einen
   bekannten, funktionierenden Zustand setzen - unabhaengig davon, was
   nav.css/screen.css an ungeschuetzten Regeln sonst noch enthalten. */
@media only screen and (max-width:991px){

    .navbar-toggle{
        display:block;
    }

    .navbar,
    .navbar-header{
        float:none;
        min-height:50px;
        height:auto;
    }

    .navbar-brand{
        font-size:0.9rem !important;
    }

    .navbar-collapse{
        display:none;
        float:none;
        width:100%;
        background:#0e0e0e;
    }

    .navbar-collapse.in,
    .navbar-collapse.collapse.in{
        display:block !important;
        float:none !important;
        width:100% !important;
        background:#0e0e0e !important;
        height:auto !important;
        max-height:none !important;
        overflow:visible !important;
    }

    /* Oberste Ebene: Flex-Row (nav.css, unscoped) auf Block-Stapel umstellen,
       feste Desktop-Hoehe (Abschnitt 16, unscoped) aufheben, eigenen
       durchgaengigen dunklen Hintergrund erzwingen. Auf 1/3 Breite verengt,
       damit rechts Platz fuer die Untermenue-Spalten bleibt. */
    .navbar-collapse .level_1.nav-main,
    .level_1.nav-main{
        display:block;
        flex-direction:column;
        float:none;
        width:33.333%;
        height:auto;
        min-height:0;
        margin:0;
        padding:0;
        background:#0e0e0e;
    }

    .level_1.nav-main > li{
        display:block;
        width:100%;
        float:none;
        position:relative;
    }

    .level_1.nav-main > li > a,
    .navbar-default .navbar-nav > li > a{
        display:block;
        width:100%;
        padding:12px 15px 12px 36px;
        font-size:0.9rem;
        color:#fff !important;
        background:transparent;
        position:relative;
        box-sizing:border-box;
    }

    /* pointer-events bewusst NICHT hier angefasst: nav.css setzt gezielt
       .nav-item.submenu.has-children > a{pointer-events:none} und laesst
       nur den .nav-arrow antippbar - das ist Absicht (Menuepunkte mit
       Kindern sollen erst das Untermenue oeffnen, nicht direkt navigieren).
       Ein pointer-events:auto!important hier (siehe vorherige Version)
       hebelt genau das aus: Tippen auf den Text navigiert dann sofort weg,
       statt das Untermenue zu oeffnen - Untermenue blieb dadurch unsichtbar. */
    /* Pfeil auf Wunsch ganz nach links, vor den Text - absolut positioniert
       innerhalb des <a> (das dafuer oben position:relative + linkes
       Padding bekommen hat), statt wie vorher rechtsbuendig per float. */
    .nav-arrow{
        display:inline-block !important;
        position:absolute !important;
        left:15px !important;
        top:50% !important;
        margin:0 !important;
        transform:translateY(-50%) rotate(-45deg) !important;
    }

    .nav-item.submenu.has-children > a .nav-arrow{
        pointer-events:auto !important;
        cursor:pointer !important;
    }

    .level_1 > li.nav-item.submenu.has-children:hover > a .nav-arrow,
    .level_2 > li.submenu.has-children:hover > a .nav-arrow{
        transform:translateY(-50%) rotate(45deg) !important;
    }

    /* Untermenues: Flyout-Spalte rechts neben dem Elternpunkt statt darunter
       gestapelt. left:100%/width:100% ist bewusst relativ zur eigenen
       Elternspalte (nicht zum Bildschirm) angegeben - dadurch ergibt sich
       bei JEDER Verschachtelungstiefe automatisch exakt eine weitere
       Drittel-Spalte, ohne die Prozentwerte pro Ebene neu ausrechnen zu
       muessen (Ebene 2 waere sonst 33%/66%, Ebene 3 faelschlich wieder ab
       33% relativ zu Ebene 2 statt bei 66% global - mit 100%/100% relativ
       verschachtelt passt es rekursiv von selbst). */
    .level_2,
    .level_3,
    .dropdown-menu{
        position:absolute;
        display:none;
        top:0;
        left:100%;
        width:100%;
        min-width:0;
        margin:0;
        background:#1a1a1a;
        padding:0;
        box-shadow:-1px 0 0 rgba(255,255,255,0.15);
        z-index:20;
    }

    /* Es gibt KEIN JavaScript, das Untermenues oeffnet (Template
       nav_default_main.html5 hat keinerlei Klick-Handler) - der einzige
       Oeffnen-Mechanismus war schon immer CSS :hover (nav.css Zeile 93/103,
       unscoped). Auf Touchgeraeten simuliert der erste Tap ueblicherweise
       kurz :hover, bevor ein zweiter Tap den Link tatsaechlich ausloest -
       das ist der de-facto Tap-to-open-Mechanismus. Vorherige Version hatte
       das faelschlich mitunterdrueckt: die Basis-Schliessregel oben nutzt
       !important, das schlaegt nav.css' Hover-Regel IMMER, auch wenn diese
       spezifischer ist, weil sie selbst kein !important hat. Hier explizit
       mit eigenem !important wieder freigegeben. */
    .level_1 > li.nav-item.submenu.has-children:hover > .level_2,
    .level_2 > li.submenu.has-children:hover > .level_3{
        display:block !important;
    }

    /* Rueckmeldung, WELCHER Punkt gerade offen ist: der Elternlink selbst
       wird bei Hover/Tap heller hinterlegt und sein Pfeil dreht sich - ohne
       das nutzt man sonst "blind", da :hover auf dem <a> selbst wegen
       pointer-events:none (siehe nav.css) nicht greift, wohl aber auf dem
       umschliessenden <li>, ueber das wir hier gezielt den Kindlink stylen. */
    .level_1 > li.nav-item.submenu.has-children:hover > a,
    .level_2 > li.submenu.has-children:hover > a{
        background:rgba(255,255,255,0.12) !important;
        color:#fff !important;
    }

    .level_1 > li.nav-item.submenu.has-children:hover > a .nav-arrow,
    .level_2 > li.submenu.has-children:hover > a .nav-arrow{
        transform:rotate(45deg);
    }

    .nav-item.open > .level_2,
    .level_2 > li.open > .level_3{
        display:block !important;
    }

    .level_2 a,
    .level_3 a,
    .dropdown-menu > li > a{
        display:block;
        width:100%;
        padding:10px 15px 10px 32px;
        font-size:0.86rem;
        color:#fff;
        background:transparent;
        position:relative;
        box-sizing:border-box;
    }

    /* Gleiches Problem wie bei Ebene 1: background:transparent!important
       oben gilt fuer JEDEN Zustand, auch Hover, und schlaegt damit nav.css'
       eigene (nicht-important) Hover-Regel fuer diese einfachen Unterpunkte
       (ohne eigene Kinder). Hier gezielt wieder freigegeben. */
    .level_2 a:hover,
    .level_3 a:hover,
    .dropdown-menu > li > a:hover{
        background:rgba(255,255,255,0.12) !important;
        color:#fff !important;
    }

    .nav-item.open > a > .nav-arrow,
    .level_2 > li.open > a > .nav-arrow{
        transform:rotate(45deg);
    }
}

@media only screen and (min-width:992px){
    .navbar-toggle{
        display:none;
    }

    .navbar-collapse{
        display:block;
        float:right;
    }
}

/* ============ 19. Nachkorrekturen ============ */

/* Referenzen: wenn #kopfbild vorhanden ist, soll #content NICHT zusaetzlich
   noch sein eigenes Basis-Padding (72px aus screen.css) behalten - das
   Kopfbild bringt die Reserve schon mit, #content braucht dann gar keinen
   eigenen Top-Abstand mehr. */
body:has(#kopfbild) #content{
    padding-top:0;
}

/* Startseite: 20px-Abstand zwischen Slider und Content nochmal robust
   nachgezogen, falls eine vorherige Regel das aus unklarem Grund nicht
   zuverlässig durchgesetzt hat. */
#teaser .col-md-12{
    padding-top:var(--content-indent);
}

/* ============ 20. Kontakt-Seite: Sidebar/Formular-Abstand wiederhergestellt ============ */
/* Die pauschale [class*="col-"]-Nullung aus Schritt 1 (Abschnitt 15) hat
   auf der Kontakt-Seite auch .left-menu/.content getroffen - die einzige
   Seite mit echtem zweispaltigem Sidebar-Layout. Hier gezielt den
   ursprünglichen Bootstrap-Gutter (15px) wiederhergestellt, nur für
   dieses eine Seitenmuster. */
#content .left-menu,
#content .left-menu ~ .content{
    padding-left:15px;
    padding-right:15px;
}

/* ============ 21. Fokus-Rahmen: Browser-Standard ersetzt ============ */
/* Fund 24.08.2026: weder fuer Referenz-Kacheln (.item aus
   news_full_reference.html5) noch fuers Logo (.navbar-brand) gab es bisher
   eine eigene Fokus-Gestaltung - beim Antippen auf dem Handy erschien der
   nackte Browser-Standard-Rahmen (auf iOS Safari ein auffaelliger,
   ueberdimensionierter schwarzer Kasten, groesser als der sichtbare
   Bildausschnitt). :focus-visible statt :focus, damit der Rahmen bei
   Maus-/Touch-Klick verschwindet, fuer echte Tastatur-Navigation aber aus
   Gruenden der Barrierefreiheit erhalten bleibt. */
a:focus:not(:focus-visible),
.item:focus:not(:focus-visible),
.navbar-brand:focus:not(:focus-visible){
    outline:none !important;
}

a:focus-visible,
.item:focus-visible,
.navbar-brand:focus-visible{
    outline:2px solid #ae0817 !important;
    outline-offset:2px !important;
}

/* ============ 22. Referenz-Detailseiten: doppelte Kategorie-Tabs ============ */
/* Fund 24.08.2026: metamodel_prerendered_detail.html5 (Referenz-Detailseiten,
   noch MetaModels-Template) rendert 7 Tabs, von denen per Design nur 2 +
   Kontakt gleichzeitig sichtbar sein sollten (gesteuert ueber .l-arch/
   .l-visu/.l-aufma-Ankerklassen, je nach Referenz-Kategorie). Diese
   Sichtbarkeitslogik greift nicht zuverlaessig (u.a. weil home.css eine
   generische .nav-tabs li{display:inline-block}-Regel mitbringt) - alle 6
   kategoriegebundenen Tabs werden gleichzeitig sichtbar, dadurch
   ueberlappender Text und zusaetzliche, unbeabsichtigte Zeilenumbrueche
   (der gemeldete graue Streifen). Echte Lösung waere Teil des ohnehin
   geplanten MetaModels-Abbaus. Bis dahin: pragmatisch die 4 doppelten
   Eintraege fest ausblenden, je einen "Leistungsuebersicht"/"Alle
   Referenzen"-Link sichtbar lassen. .row (nicht .hero-strip) grenzt das
   gezielt auf die Detailseiten-Variante ein, die Startseiten-Tableiste
   bleibt unangetastet. */
#slider-nav .nav-tabs.row > li:nth-child(2),
#slider-nav .nav-tabs.row > li:nth-child(3),
#slider-nav .nav-tabs.row > li:nth-child(5),
#slider-nav .nav-tabs.row > li:nth-child(6){
    display:none !important;
}

#slider-nav .nav-tabs.row > li:nth-child(1),
#slider-nav .nav-tabs.row > li:nth-child(4){
    display:inline-block !important;
}


/* ============ Lazy Loading Hero (15.10.2026) ============ */
/* Das alte Slider-Markup dient hero-slider.js nur als Datenquelle. Ab dem 2. Foto
   ausblenden, damit der Browser diese Bilder nicht schon vor dem Skriptstart laedt. */
#slider .carousel-inner .slider-item ~ .slider-item{
    display:none;
}

/* ============ 23. Schritt 8 (15.10.2026): Mobil-Feinschliff (< 768px) ============ */
/* a) Hero: Bei 185px Bildhoehe lagen H1, Referenztitel, "Mehr" und Pfeile
      uebereinander. H1 jetzt als dunkle Leiste UNTER dem Bild, Titel und
      "Mehr" oben mit 12px Abstand, Titel schmaler (kein Ueberlappen mit "Mehr").
   b) Tippflaechen mind. 44px (Empfehlung Apple/Google/WCAG).
   c) Blocksatz kommt aus Inline-Styles des Editors (style="text-align: justify")
      - auf schmalen Spalten entstehen Loecher; daher mobil linksbuendig.
      Silbentrennung bleibt aktiv. Desktop unveraendert. */
@media only screen and (max-width:767px){

    .hero-heading{
        position:static;
        display:block;
        max-width:none;
        background:#2e2e2e;
        padding:12px 20px 14px;
    }

    .hero-caption{
        top:12px;
        left:16px;
        max-width:calc(100% - 150px);
    }

    .hero-more-wrap{
        top:12px;
        right:16px;
    }

    #slider .hero-more{
        display:inline-flex;
        align-items:center;
        gap:6px;
        min-height:44px;
        padding:0 16px;
        border-radius:22px;
    }

    .hero-arrow{
        width:44px;
        height:44px;
        line-height:42px;
    }

    .hero-strip-tab > a,
    .hero-strip-cta > a{
        display:flex;
        align-items:center;
        justify-content:center;
        min-height:44px;
    }

    .navbar-toggle{
        min-width:44px;
        min-height:44px;
    }

    .header_topbar_lexikon a{
        display:inline-block;
        padding:14px 8px;
        margin:-14px -8px;
    }

    a.fon{
        display:inline-block;
        padding:14px 0;
        margin:-14px 0;
    }

    .footer-nav li a{
        display:inline-block;
        padding:11px 0;
    }

    .content-text .btn{
        display:inline-flex;
        align-items:center;
        justify-content:center;
        min-height:44px;
    }

    /* Reiter auf Referenz-Detailseiten, "nach oben", Karten-Route */
    .nav-tabs.row > li > a,
    a[href="#top"],
    .map-consent-route{
        display:flex;
        align-items:center;
        justify-content:center;
        min-height:44px;
        min-width:44px;
    }

    /* Referenz-Detail: mobil ist nur der aktive Reiter sichtbar; er war auf
       1/3 Breite (110px) fixiert, "Leistungsuebersicht" lief ueber den Rand */
    .nav-tabs.row > li.active{
        width:auto;
    }

    .nav-tabs.row > li > a{
        padding:0 16px;
    }

    /* E-Mail/Telefon im Fliesstext: groessere Trefferflaeche ohne Layoutaenderung */
    .rte a[href^="mailto:"],
    .rte a[href^="tel:"]{
        padding:11px 0;
    }

    /* Kontaktformular: 44px hoch; 16px Schrift verhindert das automatische Hineinzoomen auf dem iPhone */
    .ce_form .form-control{
        min-height:44px;
        font-size:16px;
    }

    .ce_form input[type="checkbox"]{
        width:22px;
        height:22px;
    }

    /* Filter der Referenzliste, "Zurueck" im Lexikon */
    .referenzen-select{
        min-height:44px;
    }

    p.back a{
        display:inline-block;
        padding:11px 0;
    }

    body [style*="justify"]{
        text-align:left !important;
    }
}

/* ============ 24. Fehlerseite 404 (15.10.2026) ============ */
/* Seite ohne Kopfbild: Abstand unter der fixen Navigation wie auf den Inhaltsseiten. */
body.seite-404:not(:has(#kopfbild)) #content{
    padding-top:calc(var(--header-height) + 3.5rem);
    padding-bottom:4rem;
}

@media only screen and (max-width:767px){
    body.seite-404:not(:has(#kopfbild)) #content{
        padding-top:calc(var(--header-height) + 2rem);
    }
}

/* consent.css – Datenschutz-Hinweis ab-braeuer.de
 *
 * Bewusst NICHT als vollflächiges, blockierendes Overlay gebaut: Browser/
 * Werbeblocker filtern generische "Cookie-Consent"-Banner teils gezielt aus
 * (z. B. EasyList-Cookie-Listen). Wenn ein solcher Banner dabei unsichtbar
 * wird, aber gleichzeitig die restliche Seite blockiert (Overlay + Body-
 * Scroll-Sperre), friert die Seite für den Besucher komplett ein - ohne
 * jeden Hinweis, was passiert ist. Deshalb hier: schlanke Leiste am unteren
 * Bildschirmrand, kein Hintergrund-Overlay, kein Sperren des Hauptinhalts.
 * Die Seite bleibt jederzeit voll bedienbar, auch während der Hinweis
 * sichtbar ist.
 */

#abbraeuer-privacy-notice {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 99999;
  background: #ffffff;
  border-top: 1px solid #e2e2e2;
  box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.12);
  padding: 18px 20px;
  font-family: inherit;
  color: #222;
  max-height: 80vh;
  overflow-y: auto;
}

@media (min-width: 700px) {
  #abbraeuer-privacy-notice {
    display: flex;
    align-items: center;
    gap: 24px;
    padding: 16px 28px;
  }
}

.abp-text {
  flex: 1 1 auto;
  min-width: 0;
}

.abp-text h2 {
  margin: 0 0 6px;
  font-size: 1.05rem;
  color: #ae0817;
}

.abp-intro {
  font-size: 0.85rem;
  line-height: 1.5;
  margin: 0;
  color: #444;
}

.abp-categories {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin: 12px 0;
}

@media (min-width: 700px) {
  .abp-categories {
    margin: 0 16px;
    flex: 0 0 auto;
  }
}

.abp-category-row {
  display: flex;
  align-items: center;
  gap: 8px;
}

.abp-category-title {
  font-weight: 600;
  font-size: 0.85rem;
  white-space: nowrap;
}

/* Toggle-Switch */
.abp-switch {
  position: relative;
  display: inline-block;
  width: 38px;
  height: 21px;
  flex-shrink: 0;
}

.abp-switch input {
  opacity: 0;
  width: 0;
  height: 0;
}

.abp-slider {
  position: absolute;
  cursor: pointer;
  inset: 0;
  background-color: #ccc;
  transition: 0.2s;
  border-radius: 21px;
}

.abp-slider::before {
  content: '';
  position: absolute;
  height: 15px;
  width: 15px;
  left: 3px;
  bottom: 3px;
  background-color: #fff;
  transition: 0.2s;
  border-radius: 50%;
}

.abp-switch input:checked + .abp-slider {
  background-color: #ae0817;
}

.abp-switch input:checked + .abp-slider::before {
  transform: translateX(17px);
}

.abp-switch-disabled .abp-slider {
  cursor: not-allowed;
  opacity: 0.6;
}

/* Buttons */
.abp-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 14px;
}

@media (min-width: 700px) {
  .abp-actions {
    margin-top: 0;
    flex: 0 0 auto;
    flex-wrap: nowrap;
  }
}

.abp-btn {
  border: none;
  border-radius: 4px;
  padding: 10px 14px;
  font-size: 0.85rem;
  cursor: pointer;
  font-weight: 600;
  white-space: nowrap;
}

.abp-btn-primary {
  background: #ae0817;
  color: #fff;
}

.abp-btn-primary:hover {
  background: #8c0612;
}

.abp-btn-secondary {
  background: #f2f2f2;
  color: #222;
}

.abp-btn-secondary:hover {
  background: #e6e6e6;
}

.abp-btn-text {
  background: transparent;
  color: #666;
  font-weight: 400;
  text-decoration: underline;
  padding: 10px 4px;
}

.abp-links {
  margin-top: 10px;
  font-size: 0.75rem;
  flex-basis: 100%;
}

@media (min-width: 700px) {
  .abp-links {
    flex-basis: auto;
    margin-top: 0;
  }
}

.abp-links a {
  color: #ae0817;
  text-decoration: underline;
}


/* ============ Karte: statisches Bild, Google Maps erst nach Klick (15.10.2026) ============ */
.map-consent{position:relative;display:block;width:100%;height:450px;overflow:hidden;background:#f1efe8;}
.map-consent img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;}
.map-consent-btn{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;margin:0;padding:16px;border:0;background:rgba(26,26,26,0);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;font:inherit;cursor:pointer;transition:background .2s ease;}
.map-consent-btn > span{opacity:0;transition:opacity .2s ease;}
.map-consent:hover .map-consent-btn,.map-consent-btn:focus-visible{background:rgba(26,26,26,.55);}
.map-consent:hover .map-consent-btn > span,.map-consent-btn:focus-visible > span{opacity:1;}
.map-consent-title{font-weight:600;font-size:1.05rem;background:#ae0817;padding:10px 18px;}
.map-consent-note{font-size:.85rem;max-width:34em;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.7);}
.map-consent-route{position:absolute;left:12px;bottom:12px;z-index:2;background:#fff;color:#1a1a1a !important;padding:6px 12px;font-size:.85rem;font-weight:600;text-decoration:none !important;box-shadow:0 1px 3px rgba(0,0,0,.25);}
.map-consent-route:hover{background:#f1efe8;}
.map-consent iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0;}
@media (hover:none){.map-consent-btn{justify-content:flex-end;padding-bottom:58px;background:linear-gradient(rgba(26,26,26,0) 45%,rgba(26,26,26,.65));}.map-consent-btn > span{opacity:1;}.map-consent-title{font-size:.95rem;padding:8px 14px;}}
@media (max-width:767px){.map-consent{height:320px;}}

