/* ======================
   Author's custom styles
   ======================*/


/* roboto-300 - latin */

@font-face {
    font-family: 'Roboto';
    font-display: swap;
    font-style: normal;
    font-weight: 300;
    src: local(''), url('https://wolf-vt.de/fonts/roboto-v27-latin-300.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
    url('https://wolf-vt.de/fonts/roboto-v27-latin-300.woff') format('woff');
    /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}


/* roboto-regular - latin */

@font-face {
    font-family: 'Roboto';
    font-display: swap;
    font-style: normal;
    font-weight: 400;
    src: local(''), url('https://wolf-vt.de/fonts/roboto-v27-latin-regular.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
    url('https://wolf-vt.de/fonts/roboto-v27-latin-regular.woff') format('woff');
    /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}


/* roboto-500 - latin */

@font-face {
    font-family: 'Roboto';
    font-display: swap;
    font-style: normal;
    font-weight: 500;
    src: local(''), url('https://wolf-vt.de/fonts/roboto-v27-latin-500.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
    url('https://wolf-vt.de/fonts/roboto-v27-latin-500.woff') format('woff');
    /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

html {
    font-family: sans-serif;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
}

body {
    font-size: 1rem;
    line-height: 1.667em;
    color: #000;
    font-family: 'Roboto', Arial, Verdana, sans-serif;
    background-color: #fff;
    font-weight: 300;
}

header {
    margin: 0;
    padding: 0;
}

.header-container {
    position: relative;
    color: #000;
}

#headbar {
    width: 100%;
    background: #ee7202;
    padding: 5px 0;
    color: #fff;
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 10;
}

#contact-bar {
    display: none;
}

#greylines {
    height: 20px;
    background: #8a8989 url('../img/layout/greylines_bg.png') repeat-x;
}

.heads {
    background: #575656;
    color: #fff;
}

.heads-container {
    padding-top: 15px;
    padding-bottom: 15px;
}

.content {
    padding-top: 15px;
    padding-bottom: 15px;
    min-height: 150px;
}

#headerpic {
    position: relative;
}

#hb-text {
    position: absolute;
    top: 15%;
    right: 5%;
    color: #fff;
}

#hb-text .large {
    font-size: 1.5rem;
    line-height: 1.75rem;
    text-shadow: 1px 1px 2px #000;
}

#hb-text .features {
    font-size: 0.875rem;
    line-height: 1rem;
    text-shadow: 1px 1px 2px #000;
}

footer {
    background-color: #ee7202;
    padding: 20px 0;
    color: #fff;
}

.footerhead {
    color: #393a3b;
    font-size: 20px;
}

.grey-bg {
    background: #F4F4F4;
    padding: 20px 15px;
}

.greybg {
    background: #F4F4F4;
    display: inline-block;
    min-width: 30px;
    text-align: center;
    font-weight: 500;
    margin-right: 10px;
}

a:link,
a:visited {
    text-decoration: none;
    color: #937941;
    font-weight: 400;
}

a:hover,
a:active,
a:focus {
    color: #000;
    text-decoration: none;
}

a.black:link,
a.black:visited {
    text-decoration: none;
    color: #000;
    font-weight: inherit;
}

a.black:hover,
a.black:active,
a.black:focus {
    color: #000;
    text-decoration: none;
}

a.white:link,
a.white:visited {
    text-decoration: none;
    color: #fff;
    font-weight: inherit;
}

a.white:hover,
a.white:active,
a.white:focus {
    color: #fff;
    text-decoration: underline;
}

.btn-orange {
    background-color: #dc5503;
    color: #fff !important;
    border: 1px solid #fff;
    border-radius: 0;
}

.btn-orange:hover,
.btn-orange:active,
.btn-orange:focus {
    background-color: #dc5503;
    color: #fff;
    border: 1px solid #fff;
}

.arrow:before {
    content: url("data:image/svg+xml,<svg width='10' height='10' viewBox='0 2 16 16' fill='%23EE7202' xmlns='http://www.w3.org/2000/svg'><path d='M12.14 8.753l-5.482 4.796c-.646.566-1.658.106-1.658-.753V3.204a1 1 0 0 1 1.659-.753l5.48 4.796a1 1 0 0 1 0 1.506z'/></svg>");
    margin-right: 5px;
    display: inline-block;
}

:focus {
    outline: none;
}

a::-moz-focus-inner,
button::-moz-focus-inner,
input::-moz-focus-inner,
::-moz-focus-inner {
    border: 0;
    outline: none;
}

.card {
    background-image: linear-gradient(#f4f6f7, #f4f6f7);
    background-size: 100% 0%;
    background-repeat: no-repeat;
    background-position: bottom;
    transition: all 0.4s ease-in-out;
    border-color: #d4d4e1;
}

.card:hover {
    background-size: 100% 100%;
}

footer a:link,
footer a:visited {
    text-decoration: none;
    color: #fff;
    font-weight: 300;
}

footer a:hover,
footer a:active,
footer a:focus {
    text-decoration: underline;
}

.ecoline {
    color: #653021 !important;
}

.greenline {
    color: #3a9b00 !important;
}

.compactline {
    color: #e90002 !important;
}

.powerline {
    color: #293e8a !important;
}

#logo {
    display: none;
}

input:required+label:after,
select:required+label:after,
textarea:required+label:after {
    content: '*';
    vertical-align: top;
    color: #f00;
}

ul.catmenu {
    list-style-type: none;
    padding-left: 0;
}

ul.catmenu li {
    font-size: 1.25rem;
    line-height: 2rem;
}

ul.catmenu li a {
    color: #000;
}


/* mobile Navigation
******************************/

.navbar {
    background-color: #f3f3f5;
}

.navbar-brand {
    padding: 0rem;
    width: 191px;
    height: 60px;
    background-image: url('../img/wolf-logo-2025.png');
    background-repeat: no-repeat;
    background-size: contain;
}

.navbar-nav .nav-link {
    padding-right: 0;
    padding-left: 0;
    color: #414141;
}

.navbar-toggler {
    border: 1px solid #333;
}

.navbar .navbar-toggler-icon {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(66, 66, 66, 0.6)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
}

.navbar .navbar-toggler-icon:hover,
.navbar .navbar-toggler-icon:focus,
.navbar .navbar-toggler-icon:active {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(66, 66, 66, 1)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
}

.navbar-toggler:focus {
    text-decoration: none;
    outline: 0;
    box-shadow: 0 0 0 .10rem;
}


/* end mobile Navigation
******************************/

.navbar .megamenu {
    padding: 1rem;
}

h1,
.h1 {
    font-size: 1.6rem;
    line-height: 1.25em;
    font-weight: 500;
    margin: 0;
}

h2,
.h2 {
    font-size: 1.3rem;
    line-height: 1.25em;
    margin: 0 0 15px 0;
    font-weight: 400;
}

h3,
.h3 {
    font-size: 1.3rem;
    line-height: 1.250em;
    margin: 0 0 15px 0;
    font-weight: 400;
}

h4,
.h4 {
    font-size: 1.1rem;
    line-height: 24px;
    font-weight: 400;
}

h5,
.h5 {
    font-size: 1.0rem;
    line-height: 20px;
    margin: 3px 0 0 0;
    font-weight: 500;
}

.small {
    font-size: 0.875rem !important;
    line-height: 1.25rem !important;
}

.underline {
    padding-bottom: 3px;
    border-bottom: 1px solid #cf702a;
}

ul.listing,
ul.footer {
    padding-left: 1rem;
}

ul.catlisting {
    list-style-type: none;
    padding-left:0;
}

ul.catlisting li {
    font-size:1.125rem;
    line-height:1.75rem;
}

.strong,
strong {
    font-weight: 500;
}

.orange {
    color: #ee7202;
}

.thick {
  height:3px !important; 
}

.fhp {
    opacity: 0;
    position: absolute;
    top: 0;
    left: 0;
    height: 0;
    width: 0;
    z-index: -1;
}

.veh-info {
    font-size: 0.875rem;
}

.sep-tabs .nav-link {
    margin-bottom: -1px;
    background: #f4f4f4;
    color: #ee7202;
    font-weight: 500;
    padding-left: 1rem;
    padding-right: 1rem;
    font-size: 1.125rem;
    border: 0;
    margin-right: 5px;
}

.sep-tabs .nav-link:hover {
    color: #333;
}

.sep-tabs .nav-link .small {
    font-weight: 400;
}

.sep-tabs .nav-item.show .nav-link,
.sep-tabs .nav-link.active {
    color: #fff;
    background-color: #ee7202;
}

.sep-content {
    background-color: #f4f4f4;
    padding: 1rem .5rem;
}

.table-striped>tbody>tr:nth-of-type(2n+1) {
    background-color: #d5d5d5;
}

.table-striped>tbody>tr:nth-of-type(2n) {
    background-color: #eaeaea;
}

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

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

.oilumin {
    position: relative;
    text-align: center;
    padding: 50px 0 0px;
}

.oilumin:first-child {
    padding: 10px 0 0px;
}

.oilumin:last-child {
    padding: 50px 0 10px;
}

.oilora {
    background-color: #ff6600;
}

.oilgrey {
    background-color: #929b9d;
}

.oilyellow {
    background-color: #ffcc00;
}

.oilgreen {
    background-color: #669900;
}

.oillast {
    background-color: #ff6600;
}

.oilumin:before,
.oilumin:after {
    width: 50%;
    height: 35px;
    position: absolute;
    bottom: 0;
    left: 0;
    content: "";
    z-index: 1;
}

.oilumin.oilora:before {
    left: 0px;
    bottom: -35px;
    background: linear-gradient(to bottom left, #ff6600 50%, transparent calc(50% + 1px))
}

.oilumin.oilora:after {
    left: 50%;
    bottom: -35px;
    background: linear-gradient(to bottom right, #ff6600 50%, transparent calc(50% + 1px))
}

.oilumin.oilgrey:before {
    left: 0px;
    bottom: -35px;
    background: linear-gradient(to bottom left, #929b9d 50%, transparent calc(50% + 1px))
}

.oilumin.oilgrey:after {
    left: 50%;
    bottom: -35px;
    background: linear-gradient(to bottom right, #929b9d 50%, transparent calc(50% + 1px))
}

.oilumin.oilyellow:before {
    left: 0px;
    bottom: -35px;
    background: linear-gradient(to bottom left, #ffcc00 50%, transparent calc(50% + 1px))
}

.oilumin.oilyellow:after {
    left: 50%;
    bottom: -35px;
    background: linear-gradient(to bottom right, #ffcc00 50%, transparent calc(50% + 1px))
}

.oilumin.oilgreen:before {
    left: 0px;
    bottom: -35px;
    background: linear-gradient(to bottom left, #669900 50%, transparent calc(50% + 1px))
}

.oilumin.oilgreen:after {
    left: 50%;
    bottom: -35px;
    background: linear-gradient(to bottom right, #669900 50%, transparent calc(50% + 1px))
}

.oilumin.oillast:before {
    display: none;
}

.oilumin.oillast:after {
    display: none;
}

#sep-accordion .accordion-button:not(.collapsed) {
    color: #fff;
    background-color: #ee7202;
    box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .125);
}

#pma, #pmat {
    cursor:pointer;
    display:inline-block;
    padding:12px 10px;
}


.joboffer {
    border-bottom:1px solid #ccc;
    margin-bottom:1rem;
}

.joboffer:last-child {
    border-bottom:0;
}

/*
.accordion-button:not(.collapsed)::after {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23ffffff'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
    transform: rotate(-180deg);
}
*/

#sep-accordion .accordion-button {
    color: #ee7202;
    background-color: #f4f4f4;
    box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .125);
}

#sep-accordion .accordion-body {
    background-color: #f4f4f4;
}

.gm-verkauft {
    position: absolute;
    top: 1rem;
    left: 1rem;
}

.gm-verkauft-detail {
    position: absolute;
    top: 0;
    left: 0;
}

.bannertext {
    position: absolute;
    top: 1rem;
    left: 0;    
    background-color: rgba(255, 255, 255, 0.85);
    color:#920707;
    padding:0.25rem 0.5rem;
    width:100%;
    font-weight: 500;
    font-size:1.25rem;
}

.bannertext-detail {
    color:#920707;
    font-weight: 500;
    font-size:1.25rem;
}

@media (min-width: 480px) {
    #hb-text {
        top: 30%;
        right: 10%;
    }
}

@media (max-width: 576px) {
    h1,
    .h1 {
        font-size: 1.3rem;
        line-height: 1.35em;
        font-weight: 400;
        margin: 0;
    }
}

@media (min-width: 576px) {
    .red {
        background: #FF6600;
        padding-left: 40px;
    }
}


/* ============ 3rd menu submenu styles for mobile  ============ */

@media (max-width: 767px) {
    .dropdown-menu .dropdown-menu {
        margin-left: 0.7rem;
        margin-right: 0.7rem;
        margin-bottom: .5rem;
    }
    .navbar.fixed-top .navbar-collapse,
    .navbar.sticky-top .navbar-collapse {
        overflow-y: auto;
        max-height: 90vh;
        margin-top: 10px;
    }
}

@media (min-width: 768px) {


}

@media (min-width: 992px) {
    header {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        z-index: 10;
    }
    #headbar {
        position: relative;
    }
    .header-container,
    .navbar {
        background: #f3f3f5
    }
    #contact-bar {
        display: block;
        position: fixed;
        top: 40%;
        right: 0;
        height: auto;
        z-index: 10;
        -webkit-transform: translateY(-20%);
        -ms-transform: translateY(-20%);
        transform: translateY(-20%);
    }
    #logo {
        display: block;
        position: absolute;
        top: 0px;
        left: 0;
        z-index: 10000;
    }
    .navbar-brand {
        display: none;
    }
    .heads-container {
        padding-top: 20px;
        padding-bottom: 20px;
        background: #575656;
    }
    #index .heads-container {
        background: #575656 url('../img/layout/headline_bg.jpg') no-repeat bottom right;
        background-size: contain;
    }
    #hb-text {
        position: absolute;
        top: 45%;
        right: 5%;
        color: #fff;
    }
    #hb-text .large {
        font-size: 1.75rem;
    }
    #hb-text .features {
        font-size: 1rem;
        line-height: 1.25rem;
    }
    .content {
        padding-top: 2rem;
        padding-bottom: 2rem;
    }
    .navbar {
        padding-top: 1.5rem;
        padding-bottom: .75rem;
    }
    .navbar-expand-lg .navbar-nav .nav-link {
        color: #414141;
        padding: 0.25rem 0.25rem;
    }
    .navbar-expand-lg .navbar-nav .nav-link:hover {
        color: #ee7202;
    }
    .navbar-expand-lg .navbar-nav .nav-item {
        border-right: 1px solid #000;
    }
    .navbar-expand-lg .navbar-nav .last {
        border-right: none !important;
    }
    .dropdown-menu a {
        color: #414141;
    }
    .dropdown-menu a .h3 {
        color: #ee7202;
    }
    .dropdown-toggle::after {
        display: none;
    }
    #logo {
        width: 150px;
        transition: all 1s;
        -moz-transition: all 1s;
        /* Firefox 4 */
        -webkit-transition: all 1s;
        /* Safari and Chrome */
        -o-transition: all 1s;
        /* Opera */
    }
    .shrink #logo {
        width: 126px;
    }
    /* ============ 3rd level submenu styles  ============ */
    .dropdown-menu li {
        position: relative;
    }
    .nav-item .submenu {
        display: none;
        position: absolute;
        left: 100%;
        top: -7px;
    }
    .nav-item .submenu-left {
        right: 100%;
        left: auto;
    }
    .dropdown-menu>li:hover {
        background-color: #f1f1f1
    }
    .dropdown-menu>li:hover>.submenu {
        display: block;
    }
    .navbar .has-megamenu {
        position: static!important;
    }
    .navbar .megamenu {
        left: 50%;
        /* right: 0; */
        width: 525px;
        margin-top: -10px;
        transform: translate(-50%, 0);
        z-index:10010;
    }
    /* ============ end 3rd level submenu styles  ============ */
    .phil-madein {
        background-image: url('../img/layout/madeing.png');
        background-repeat: no-repeat;
        background-size: contain;
    }
    .phil-beratung {
        background-image: url('../img/layout/ico_beratung.png');
        background-repeat: no-repeat;
        background-size: contain;
    }
    .phil-technik {
        background-image: url('../img/layout/ico_technik.png');
        background-repeat: no-repeat;
        background-size: contain;
    }
    .phil-service {
        background-image: url('../img/layout/ico_service.png');
        background-repeat: no-repeat;
        background-size: contain;
    }


    /* org 992 */
    #logo {
        width: 175px;
    }
    .navbar-expand-lg .navbar-nav .nav-link {
        padding: 0.25rem 0.5rem;
    }
    .dropdown-toggle::after {
        display: inline-block;
    }
    .navbar .megamenu {
        /*
        left: 0;
        right: 0; 
        */
        width: 600px;
        margin-top: -10px;
    }
    .heads-container {
        padding-top: 30px;
        padding-bottom: 30px;
    }
    .br-lg {
        border-right: 1px solid #e2e1de;
    }
    .sep-tabs .nav-link {
        padding-left: 1.5rem;
        padding-right: 1.5rem;
    }
    #hb-text {
        position: absolute;
        top: 45%;
        right: 5%;
        color: #fff;
    }
    #hb-text .large {
        font-size: 2rem;
        line-height: 2.25rem;
    }
    #hb-text .features {
        font-size: 1.125rem;
        line-height: 1.5rem;
    }
    .oilumin {
        position: relative;
        text-align: center;
        font-size: 0.875rem;
        line-height: 1.25rem;
        padding: 10px 5px;
    }
    .oilumin:last-child {
        padding: 10px 5px;
    }
    .oilumin:before,
    .oilumin:after {
        width: 25px;
        height: 50%;
        position: absolute;
        left: 100%;
        content: "";
        z-index: 10;
    }
    /*
   .oilumin:before {
      top: 0px;
      background: linear-gradient(to right top, #f00 50%, transparent 50%)
   }

   .oilumin:after {
      top: 50%; background: linear-gradient(to right bottom, #f00 50%, transparent 50%)
   }
*/
    .oilumin.oilora:before {
        top: 0px;
        left: auto;
        right: -25px;
        left: auto;
        background: linear-gradient(to right top, #ff6600 50%, transparent 50%)
    }
    .oilumin.oilora:after {
        top: 50%;
        left: 100%;
        background: linear-gradient(to right bottom, #ff6600 50%, transparent 50%)
    }
    .oilumin.oilgrey:before {
        top: 0px;
        left: auto;
        right: -25px;
        background: linear-gradient(to right top, #929b9d 50%, transparent 50%)
    }
    .oilumin.oilgrey:after {
        top: 50%;
        left: 100%;
        background: linear-gradient(to right bottom, #929b9d 50%, transparent 50%)
    }
    .oilumin.oilyellow:before {
        top: 0px;
        left: auto;
        right: -25px;
        left: auto;
        background: linear-gradient(to right top, #ffcc00 50%, transparent 50%)
    }
    .oilumin.oilyellow:after {
        top: 50%;
        left: 100%;
        background: linear-gradient(to right bottom, #ffcc00 50%, transparent 50%)
    }
    .oilumin.oilgreen:before {
        top: 0px;
        left: auto;
        right: -25px;
        left: auto;
        background: linear-gradient(to right top, #669900 50%, transparent 50%)
    }
    .oilumin.oilgreen:after {
        top: 50%;
        left: 100%;
        background: linear-gradient(to right bottom, #669900 50%, transparent 50%)
    }
}

@media (min-width: 1200px) {
    #logo {
        width: 250px;
    }
    .navbar-expand-lg .navbar-nav .nav-link {
        padding: 0.25rem 0.75rem;
    }    
    .overlap {
        margin-top: -120px
    }
    .overlap-gm {
        margin-top: -100px
    }
    .veh-info {
        font-size: 0.7rem
    }
    #hb-text {
        position: absolute;
        top: 40%;
        right: 5%;
        color: #fff;
    }
    #hb-text .large {
        font-size: 2.25rem;
        line-height: 2.25rem;
    }
    #hb-text .features {
        font-size: 1.250rem;
        line-height: 1.5rem;
    }
    .navbar .megamenu {
        /*
        left: 0;
        right: 0;
        */
        width: 650px;
        margin-top:-10px;
    }
}

@media (min-width: 1400px) {
    .veh-info {
        font-size: 0.75rem;
    }
    #hb-text {
        position: absolute;
        top: 40%;
        right: 5%;
        color: #fff;
    }
    #hb-text .large {
        font-size: 2.75rem;
        line-height: 3rem;
    }
    #hb-text .features {
        font-size: 1.25rem;
        line-height: 1.75rem;
    }
}

@media (min-width: 1650px) {
    .container {
        max-width: 1450px;
    }
    #hb-text {
        position: absolute;
        top: 40%;
        right: 5%;
        color: #fff;
    }
    #hb-text .large {
        font-size: 2.75rem;
        line-height: 3rem;
    }
    #hb-text .features {
        font-size: 1.5rem;
        line-height: 2rem;
    }
}

@media (min-width: 1921px) {
    body {
        max-width: 1920px;
        margin-left: auto;
        margin-right: auto;
    }
    header {
        left: 0;
        right: 0;
        margin-left: auto;
        margin-right: auto;
        width: 1920px;
    }
    #headerpic {
        text-align: center;
        background-color: #f3f3f5;
    }
    /*
    .header-container,
    #headbar .container,
    .navbar .container {
        max-width: 1920px;
    }
    #logo {
        left: 100px;
    }
    */
}


:root.efcc-blocked,
body.efcc-blocked {
  overflow:hidden !important
}

.efcc-root,
.efcc-root * {
  color:revert;
  background:revert;
  margin:revert;
  padding:revert;
  border:revert;
  border-radius:revert;
  width:revert;
  height:revert;
  max-height:revert;
  min-height:revert;
  max-width:revert;
  min-width:revert;
  outline:revert;
  text-align:revert;
  line-height:revert;
  filter:revert;
  pointer-events:revert;
  overflow:revert;
  display:revert;
  visibility:revert;
  box-shadow:revert;
  float:revert;
  position:revert;
  top:revert;
  right:revert;
  bottom:revert;
  left:revert;
  opacity:revert;
  transform:revert;
  -webkit-text-size-adjust:none;
  box-sizing:border-box;
  font-family:Arial, Helvetica, sans-serif;
}

.efcc-root::before,
.efcc-root::after,
.efcc-root *::before,
.efcc-root *::after {
  content:none
}
.efcc-root {
  contain:none;
  font-weight:300;
  font-size:14px;
  line-height:1.3;
  text-align:left;
  color:#111;
}

.efcc-root a:link,
.efcc-root a:visited {
  color:#111
}
.efcc-root a:hover {
  color:#111
}
.efcc-root a:focus {
  color:#111
}
.efcc-root p {
  display:block;
  margin:0 0 15px;
  padding:0;
  font-weight:inherit;
  font-style:inherit;
  font-size:inherit;
  line-height:inherit
}
.efcc--p {
  margin-bottom:15px
}
.efcc--p>:last-child {
  margin-bottom:0
}
.efcc-root ul {
  display:block;
  margin:0;
  padding:0;
  font-size:inherit;
  list-style:none
}
.efcc-root ul li {
  display:block;
  margin:0;
  padding:0;
  background:none
}

/* zurücksetzen evtl. Website styles */
.efcc-root input[type="checkbox"]::before,
.efcc-root input[type="checkbox"]:checked::before,
.efcc-root input[type="checkbox"]::after,
.efcc-root input[type="checkbox"]:checked::after,
.efcc-root input[type="radio"]::before,
.efcc-root input[type="radio"]:checked::before,
.efcc-root input[type="radio"]::after,
.efcc-root input[type="radio"]:checked::after,
.efcc-root ul li::marker,
.efcc-root ul li::before {
  content:none;
  content:revert
}

.efcc-button,
.efcc-root .button,
.efcc-root button {
  display:inline-block;
  display:-webkit-inline-flex;
  display:inline-flex;
  position:static;
  justify-content:center;
  align-items:center;
  margin:0;
  padding:3px 10px;
  width:auto;
  height:auto;
  min-width:0;
  min-height:40px;
  max-width:100%;
  max-height:none;
  font-weight:inherit;
  font-style:inherit;
  font-size:14px;
  line-height:1;
  text-align:center;
  white-space:normal;
  color:#fff;
  background:#11345a;
  border:0;
  border-radius:0;
  box-shadow:none;
  transition:all 128ms ease-out 0s;
  cursor:pointer;
  -webkit-appearance:none;
  appearance:none
}

.efcc-button {
  width:100%;
  max-width: 250px;
}

.efcc-root .button:link,
.efcc-root .button:visited {
  text-decoration:none;
  color:#313131
}

.efcc-root .button:hover,
.efcc-root button:hover {
  display:inline-block;
  display:-webkit-inline-flex;
  display:inline-flex;
  margin:0;
  padding:3px 10px;
  text-decoration:none;
  color:#000;
  border-radius:0;
  box-shadow:none
}

.efcc-root .button:focus,
.efcc-root button:focus,
.efcc-root .button:focus-visible,
.efcc-root button:focus-visible {
  background-color:#11345a;
  outline:2px solid  #fff;
  outline-offset:-6px;
  color:#fff;
}

.efcc-root .button:hover,
.efcc-root button:hover {
  background-color:#9f9f9f;
  border-color:#9f9f9f
}
.efcc-root .button::before,
.efcc-root .button::after,
.efcc-root button::before,
.efcc-root button::after {
  content:none
}
.efcc-root input[type="checkbox"] {
  display:inline-block;
  position:static;
  margin:0 0 0 5px;
  padding:0;
  width:auto;
  height:auto;
  min-width:0;
  min-height:0;
}

.efcc-root input[type="checkbox"]:focus,
.efcc-root input[type="checkbox"]:focus-visible {
  outline-color: #11345a; 
  outline-style: solid; 
  outline-offset: 0.15rem;
  outline-width: .25rem; 
}

.efcc-root input[type="checkbox"]::before,
.efcc-root input[type="checkbox"]::after {
  display:inline;
  position:static;
  width:auto;
  height:auto;
  min-width:0;
  min-height:0;
  font-family:inherit;
  font-weight:inherit;
  font-size:inherit;
  line-height:inherit;
  color:inherit;
  background:none;
  border:none
}
.efcc-root input[type="checkbox"]+label {
  position:relative;
  margin:0;
  font-size:inherit;
  line-height:inherit;
  color:inherit;
  cursor:pointer
}
.efcc-root input[type="checkbox"]:checked+label::before,
.efcc-root input[type="checkbox"]:checked+label::after,
.efcc-root input[type="checkbox"]:not(:checked)+label::before,
.efcc-root input[type="checkbox"]:not(:checked)+label::after,
.efcc-root input[type="checkbox"]+label::before,
.efcc-root input[type="checkbox"]+label::after {
  margin:0;
  padding:0
}
.efcc-root input[type="checkbox"][disabled]+label {
  pointer-events:none
}

.efcc-modal {
  display:block;
  position:fixed;
  top:auto;
  right:0;
  bottom:100%;
  left:0;
  width:100%;
  height:100%;
  background:#fff0;
  pointer-events:none;
  opacity:0;
  z-index:2147483647;
  transition:opacity 400ms ease-out 0s;
  visibility:hidden
}
.efcc-modal.efcc-show {
  top:0;
  bottom:0;
  pointer-events:auto;
  opacity:1;
  visibility:visible
}
.efcc-modal.efcc--is-blocking {
  background-color:rgb(0 0 0 / .3)
}
.efcc-modal.efcc--is-blocking[inert] {
  background-color:#fff0
}
.efcc-modal-inner {
  display:-webkit-flex;
  display:flex;
  -webkit-flex-flow:column nowrap;
  flex-flow:column nowrap;
  position:absolute;
  top:0;
  left:0;
  transform:none;
  width:100%;
  height:auto;
  max-width:none;
  max-height:100%;
  background:#fff;
  transition:all 1s cubic-bezier(0,0,0,1) 0s;
  box-shadow:0 0 20px 0 rgb(0 0 0 / .4)
}
.efcc-modal.efcc-control-panel .efcc-modal-inner {
  height:100%
}
#efcc-panel-content {
  margin-bottom:20px;
}
@media screen and (min-width:64.0625em) {
  .efcc-modal-inner {
    top:50%;
    left:0;
    transform:translate(-50%,-50%);
    width:90%;
    height:auto;
    max-width:640px;
    max-height:90%
  }
  .efcc-modal.efcc-show .efcc-modal-inner {
    left:50%;
    max-height:60%
  }
  .efcc-modal.efcc-show.efcc-control-panel .efcc-modal-inner {
    height:auto;
    max-height:80%
  }
  /*
  .efcc--is-ie .efcc-modal.efcc-show .efcc-modal-inner {
    height:90%
  }
  .efcc-modal.fixed-height .efcc-modal-inner {
    height:90%;
    max-width:960px;
    max-height:none
  }
  */    
  .efcc-modal:not(.efcc--is-blocking) {
    right:auto;
    bottom:auto;
    width:0;
    height:0
  }
  .efcc-modal:not(.efcc--is-blocking) .efcc-modal-inner {
    position:fixed
  }
}
@media screen and (min-width:64em) and (max-height:50em) {
  .efcc-modal.efcc-show .efcc-modal-inner {
    max-height:80%
  }
}
.efcc-modal-header {
  position:relative;
  padding:20px 25px 5px;
  background-color:#fff
}
.efcc-modal-body {
  -webkit-flex:1 1 auto;
  flex:1 10 auto;
  position:relative;
  padding:30px 25px;
  min-height:0;
  background:#fff;
  border-bottom:1px solid #565656;
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior:contain
}
/*
.efcc--is-ie .efcc-modal-body {
  overflow-y:hidden
}
*/
.efcc-modal-footer {
  display:-webkit-flex;
  display:flex;
  -webkit-flex-flow:row wrap;
  flex-flow:row wrap;
  justify-content:space-around;
  padding:20px 25px;
  background-color:#1d1d1d
}
.efcc-modal:not(.efcc-widget) .efcc-modal-footer {
  background-color:#fff;
}
.efcc-modal-footer .efcc-footer-links a:link,
.efcc-modal-footer .efcc-footer-links a:visited {
  color:rgb(255 255 255 / .9)
}
.efcc-modal-footer .efcc-footer-links a:hover {
  color:#fff
}
.efcc-modal-footer .efcc-footer-links a:focus {
  color:#fff
}
.efcc-modal-footer .efcc-footer-links a:focus-visible {
  color:#fff;
  outline:2px solid #fff;
  outline-offset:2px
}
.efcc-modal-footer .efcc-footer-links>a::before {
  background:rgb(255 255 255 / .6)
}
.efcc-modal:not(.efcc-widget) .efcc-modal-footer {
  padding-bottom:20px
}
.efcc-modal:not(.efcc-widget) .efcc-modal-footer>button,
.efcc-modal:not(.efcc-widget) .efcc-modal-footer>.button {
  margin-bottom:10px
}
.efcc-modal:not(.efcc-widget) .efcc-modal-footer>button:hover,
.efcc-modal:not(.efcc-widget) .efcc-modal-footer>.button:hover,
.efcc-modal:not(.efcc-widget) .efcc-modal-footer>button:focus,
.efcc-modal:not(.efcc-widget) .efcc-modal-footer>.button:focus {
  margin-bottom:10px
}
.efcc-modal-title {
  font-weight:500;
  font-size:20px
}
.efcc-inner-overflow {
  padding-right:17px;
  width:100%;
  max-height:100%;
  overflow-x:hidden;
  overflow-y:scroll
}
.cover-scrollbar {
  display:-webkit-flex;
  display:flex;
  -webkit-flex-flow:row nowrap;
  flex-flow:row nowrap
}
@media screen and (min-width:64.0625em) {
  .cover-scrollbar {
    position:relative
  }
  .cover-scrollbar::before {
    content:'';
    display:block;
    position:absolute;
    top:0;
    right:0;
    bottom:0;
    width:17px;
    height:100%;
    background:#fff;
    z-index:1
  }
}
.efcc-footer-links {
  display:block;
  width:100%;
  text-align: right;
}
.efcc-footer-links a:link,
.efcc-footer-links a:visited {
  position:relative;
  color:#111;
  transition:color 128ms ease-out 0s
}
.efcc-footer-links a:hover {
  color:#111
}
.efcc-footer-links a:focus {
  color:#111
}
.efcc-footer-links>a:not(:first-child) {
  margin-left:16px
}
.efcc-footer-links>a::before {
  display:none;
  content:'';
  position:absolute;
  top:4px;
  left:-8px;
  bottom:4px;
  width:1px;
  background:rgb(0 0 0 / .3);
  pointer-events:none
}
.efcc-footer-links>a:not(:first-child)::before {
  display:block
}
@media screen and (max-width:64em) {
  .efcc-modal.efcc-widget .efcc-modal-inner {
    top:auto;
    bottom:0
  }
}
@media screen and (max-width:40em) {
  .efcc-modal.efcc-widget .efcc-modal-inner {
    max-height:80%
  }
}
@media screen and (max-width:40em) and (min-height:50.75em) {
  .efcc-modal.efcc-widget .efcc-modal-inner {
    max-height:70%
  }
}
@media screen and (max-width:20em),screen and (max-height:34em) {
  .efcc-modal.efcc-widget .efcc-modal-inner {
    max-height:100%
  }
}
/*
@media screen and (min-width:64.0625em) {
  .efcc-widget.efcc--alignment--top .efcc-modal-inner,
  .efcc-widget.efcc--alignment--bottom .efcc-modal-inner {
    right:0;
    left:0;
    transform:none;
    width:100%;
    height:375px;
    max-width:none
  }
  .efcc-widget.efcc--alignment--top .efcc-modal-inner {
    top:0;
    bottom:auto
  }
  .efcc-widget.efcc--alignment--bottom .efcc-modal-inner {
    top:auto;
    bottom:0
  }
  .efcc-widget.efcc--alignment--top .efcc-modal-footer {
    order:-1
  }
}
*/  
.efcc-widget {
  transition:filter 175ms ease-out,-moz-filter 175ms ease-out,-webkit-filter 175ms ease-out
}
.efcc-widget .efcc-modal-header {
  padding-top:0;
  padding-bottom:0
}
.efcc-widget .efcc-modal-body {
  display:-webkit-flex;
  display:flex;
  -webkit-flex-flow:column nowrap;
  flex-flow:column nowrap
}
.efcc-widget .efcc-modal-footer {
  -webkit-flex-flow:column nowrap;
  flex-flow:column nowrap;
  justify-content:normal;
  align-items:center;
  padding-top:10px;
  padding-bottom:10px
}
.efcc-widget .efcc-modal-footer>:not(:last-child) {
  margin-bottom:15px
}
@media screen and (min-width:64em) {
  .efcc-widget .efcc-modal-footer {
    -webkit-flex-flow:row nowrap;
    flex-flow:row nowrap;
    justify-content:space-between;
    align-items:center
  }
  .efcc-widget .efcc-modal-footer>:not(:last-child) {
    margin-bottom:0
  }
}
.efcc-widget-text {
  -webkit-flex:1 1 auto;
  flex:1 1 auto;
  position:relative;
  margin-bottom:1px;
  min-height:150px;
  padding-bottom:4px
}

.efcc-widget-text .efcc-inner-overflow {
  padding-right:0;
  padding-bottom:20px;
  padding-left:0;
  height:auto
}
.efcc-widget-text .efcc-widget-title {
  margin-bottom:10px;
  font-weight:bold;
  font-size:24px;
  line-height:1;
}
.efcc-widget-introduction>:last-child {
  margin-bottom:0
}
.efcc-widget-buttons {
  width:100%;
  flex:0 0 auto;
  display:-webkit-flex;
  display:flex;
  flex-flow:row wrap;
  justify-content:space-around;
  align-items:stretch;
  margin-top:auto;
  margin-bottom:-10px;
}
.efcc-root .efcc-widget-buttons .button,
.efcc-root .efcc-widget-buttons button {
  flex:0 1 auto;
  margin-bottom:10px;
  text-transform:uppercase;
  max-width:300px;
  white-space:normal;
  font-weight:400;
  font-size:13px;
  min-width: 155px;
}

@media screen and (min-width:64.0625em) {
  .efcc-root .efcc-widget-buttons .button,
  .efcc-root .efcc-widget-buttons button {
    -webkit-flex-basis:28%;
    flex-basis:28%
  }
}
@media screen and (min-height:500px) {
  .efcc-control-panel .efcc-modal-inner {
    min-height:500px
  }
}
.efcc-control-panel .efcc--action-buttons {
  display:-webkit-flex;
  display:flex;
  -webkit-flex-flow:row wrap;
  flex-flow:row wrap;
  justify-content:flex-end;
  margin-bottom:6px
}
.efcc-control-panel .efcc--action-buttons button,
.efcc-control-panel .efcc--action-buttons button:hover {
  margin-bottom:4px;
  margin-left:4px
}

.efcc-root .efcc-hidden {
  display:none
}

@media print {
  .efcc-root {
    display:none
  }
}

@media (max-width:40em) {
  .efcc--visible-tablet-up {
    display:none!important
  }
}
@media (min-width:40.0625em) {
  .efcc--visible-mobile {
    display:none!important
  }
}
/*
meta.x-base-layout-css {
  visibility:hidden
}
meta.x-custom-css {
  visibility:hidden
}
*/

@media only screen and (max-width:1024px) {
  .efcc-modal-inner {
    overflow-y:auto
  }
}

.efcc-modal.efcc-show {
  background-color:rgb(0 0 0 / .5)
}
.efcc-widget-text .efcc-widget-title {
  font-size:20px
}
.efcc-footer-links a {
  color:#fff!important
}
.efcc-modal-footer {
  background-color:#282828;
}

.efcc-root .efcc_h3 {
  font-size: 16px;
  font-weight: bold;
  color:#11345a;
  margin:15px 0 5px;
}

.efcc_infogroup {
  font-weight:bold;
}

#efcc-getlog {
  font-size:14px;
  cursor:pointer;
}

.efcc-iframe-consent {
  min-width:320px;
  max-width:400px;
  height:auto;
  padding:20px;
  margin:20px auto;
  border:1px solid #ccc;
  background: #fff;
  font-family:Arial, Helvetica, sans-serif;    
  font-weight:300;
  font-size:14px;
  line-height:1.3;  
  color:#000;
}

.efcc-iframe-infolink {
  text-align:center; 
  font-size:14px; 
  color:#666; 
  margin-bottom:0;
}

.efcc-iframe-infolink span {
  text-decoration:underline;
  cursor:pointer;
}
.efcc-iframe-infolink span:hover,
.efcc-iframe-infolink span:focus {
  color:#000;
}
/* ==========================================================================
  Accordion
========================================================================== */

.efcc-root .efcc_accordion {
  background-color: #eee;
  color: #000;
  cursor: pointer;
  padding: 10px;
  width: 100%;
  border: none;
  justify-content: left;
  outline: none;
  font-size: 14px;
  margin-bottom: 0;
  position: relative;
  display: flex  
}


.efcc_accordion:not(:active):after {
  content: '\002B';
  color: #333;
  font-weight: bold;
  flex-shrink: 0;
  margin-left: auto;
  font-size: 18px;
}

.efcc_accordion.active:after {
  content: "\2212";
}

.efcc_panel {
  display:none;
  opacity: 0;
  padding:10px;
  background-color: #eee;
  transition: all 0.4s;
}

.efcc_panelactive {
  padding:10px;
  background-color: #eee;    
  display:block;
  transition: all 0.4s;
  opacity: 1;
  @starting-style {
    opacity: 0;
  }
}