.bg-light{
    background-color: #f4f4f4 !important;
}

.text-orange{
    color: #ed5700 !important;
}

.bg-orange{
    background-color: #ed5700 !important;
}

.text-gray{
    color: #6c757d !important;
}

a.text-gray:hover{
    color: #5c636a !important;
}

.bg-dkblue{
    background-color: #222f3e !important;
}

.btn{
    font-weight: bold;
}

.input-group > .btn:last-of-type{
    border-top-right-radius: var(--bs-btn-border-radius) !important;
    border-bottom-right-radius: var(--bs-btn-border-radius) !important;
}

.alert a{
    text-decoration: underline;
}

body{
    color: #292b2c;
}

p{
    color: #000;
    font-size: 14px;
    line-height: 19px;
}

a:hover {
  color: #ed5700;
}

p:last-of-type{
    margin-bottom: 0;
}

.content p + ul{
    margin-top: 30px;
}

.content ul{
    padding-left: 20px;
}

.content li{
    margin-bottom: 10px;

    color: #000;
    font-size: 14px;
    line-height: 19px;
}

.content li:last-of-type{
    margin-bottom: 0;
}

@media only screen and (min-width: 1200px) {
    .w-xl-50{
        width: 50%;
    }
}

@media only screen and (min-width: 992px) {
    .w-lg-50{
        width: 50%;
    }
}

@media only screen and (min-width: 1400px) {
  .container {
    max-width: 1400px;
  }
}

/* Header */
.header_wrap .bg-dkblue .nav-link{
    color: #fff;
}

.header_wrap .bg-dkblue .nav-link:hover,
.header_wrap .bg-dkblue .nav-link:focus{
    color: #ed5700;
}

.header_wrap .bg-dkblue .btn-icon{
    color: #fff !important;
    background-color: #ed5700 !important;
    border: none;
    border-radius: 0;
}

.header_wrap .bg-dkblue .btn-icon:hover,
.header_wrap .bg-dkblue .btn-icon:focus{
    color: #fff !important;
    background-color: #ff6800 !important;
}

.header_wrap .bg-dkblue .cart_count{
    position: absolute;
    right: 19px;
    left: auto;
    top: 11px;
    height: 13px;
    min-width: 13px;
    padding: 0 0px;
    
    background-color: #fff !important;
    color: #ed5700 !important;
    font-size: 8px;
}

.header-iframe{
    background-color: transparent !important;
}

.header-iframe .cart_trigger{
    background-color: #ed5700 !important;
    color: #fff !important;
}

.header-iframe.header_wrap {
    transition: none !important;
}

.cart_count{
    position: absolute;
    right: 12px;
    left: auto;
    top: 6px;
}

@media only screen and (max-width: 420px) {
    header .header-live-support{
        font-size: 0.75rem;
    }
    
    .navbar-brand img {
        max-width: 140px;
        height: auto !important;
    }
}

@media only screen and (max-width: 350px) {
    .navbar-brand img {
        max-width: 120px;
        height: auto !important;
    }

    .header-live-support div{
        font-size: 12px;
    }
}

/* Cart */
#cart-app .cart_table td{
    line-height: 1.1 !important;
}

#cart-app .cart_table small{
    font-size: .7rem !important;
}

#cart-app .priceCalculationText{
    position: relative;
    top: -2px;
    left: 0px;
}

/* Productlist */
.product .product_img::before{
    display: none !important;
}

.product .product_badges{
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    margin-bottom: 10px;
    font-size: 12px;
}

.shop_container .product{
    background-color: #f7f8fb;
}

@media only screen and (max-width: 480px) {
    .shop_container .product{
        display: flex;
    }

    .shop_container .product_img{
        width: 100px;
    }

    .shop_container .product_info{
        display: flex;
        flex-direction: column;
        justify-content: center;
    }
}

@media only screen and (max-width: 420px) {
    .shop_container .product_img{
        width: 70px;
    }

    .shop_container .product_info{
        padding: 10px;
    }
}

@media only screen and (max-width: 370px) {
    .shop_container .product_img{
        width: 50px;
    }

    .shop_container .product_info{
        padding: 5px;
    }
}

/* Productlist Right */
.right-bar-flow{
    position: sticky;
    top: 80px;

    margin-top: 55px;
    margin-bottom: 20px;
}

@media only screen and (min-width: 1200px) {
    .right-bar-flow .h5{
        font-size: .9rem;
    }
}

@media only screen and (min-width: 1400px) {
    .right-bar-flow .h5{
        font-size: 1rem;
    }
}

/* Breadcrumb*/
.breadcrumb_section.page-title-mini{
    padding: 5px 0;
}

.breadcrumb_section .page-title h1{
    font-size: 14px;
    font-weight: 400 !important;
    font-family: 'Poppins', sans-serif !important;
}

/* Buttons */
.btn{
    text-transform: none;
}

.btn.btn-fill-out{
    border: 1px solid #ed5700 !important;
}

.btn.btn-fill-out:hover{
    color: #ed5700 !important;
}

.btn.btn-fill-out::before,
.btn.btn-fill-out::after{
    background-color: #ed5700 !important;
}

.btn.btn-primary{
    background-color: #ed5700 !important;
    border-color: #ed5700 !important;
}

.btn.btn-primary:hover{
    background-color: #ff6800 !important;
    border-color: #ff6800 !important;
}

.btn.btn-addtocart{
    border: 1px solid #198754 !important;
}

.btn-icon {
    font-size: 18px;
    margin-right: 10px;
    height: 45px;
    width: 45px;
    float: left;
    text-align: center;
    line-height: 45px;
    border: 1px solid #CED4DA;
    border-radius: 4px;
}

/* Helper */
.text-xs{
    font-size: .7em;
}

/* Tarif Details */
.tarif-details .product_description .pr_desc ul{
    margin-left: 20px;
    margin-bottom: 15px;
}

.tarif-details .product_description li{ 
    position: relative;
    padding-top: 3px;
    margin-bottom: 5px;
    padding-left: 1.5em; /* Platz für Icon */
    list-style: none; /* bullets entfernen */
}

.tarif-details .product_description li::before {
    content: '\f00c'; /* Font Awesome check icon */
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    color: green;
    position: absolute;
    left: 0;
    top: 0.1em;
}

.quantity .minus{
    background-color: #222f3e;
    color: #fff;
}

.quantity .plus{
    background-color: #ed5700;
    color: #fff;
}

@media only screen and (max-width: 480px) {
    .tarif-details .cart_extra{
        display: flex;
        justify-content: center;
    }
    
    .tarif-details .cart_btn,
    .tarif-details .cart_btn button{
        width: 100%;
    }
}

/* Toastr */
.toast-top-right {
    top: 82px;
}

/* Countdown Js */
.deal_timer{
    padding: 0;
}

.deal_timer::before{
    display: none !important;
}

.deal_timer .countdown_time.countdown_style101{
    display: flex;
    gap: 10px;
}

.deal_timer .countdown_time.countdown_style101 .countdown_box{
    display: flex;
    flex-grow: 1;
    padding: 0;

    background-color: #ececec;
    border-style: none;
    border-radius: 0 -2px 1px 0;
}

.deal_timer .countdown_time.countdown_style101 .countdown-wrap{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 52px;
}

.deal_timer .countdown_time.countdown_style101 .countdown_box .countdown {
    display: block;

    color: #000;
    line-height: 1.1 !important;
    font-size: 21px;
    font-weight: 700;
    line-height: 1px;
}

.deal_timer .countdown_time.countdown_style101 .countdown_box .cd_text {
    display: block;

    color: #363636;
    line-height: 1.1 !important;
    font-size: 10px;
    line-height: 33px;
    letter-spacing: 0px;
    -webkit-text-stroke-color: #000;
    stroke: #000;
}

/* Hardware Deals */
.hardware-deals-list .hardware-deal-item{
    display: grid;

    grid-template-columns: 1fr;
    grid-template-rows: 300px auto;

    grid-template-areas:
        "hardwareDealImage"
        "hardwareDealButton";

    background-color: #f7f8fb;
    box-shadow: 0 0 7px rgba(0,0,0,0.1);
}

.hardware-deals-list .hardware-deal-image{
    grid-area: hardwareDealImage;

    padding: 15px;
}

.hardware-deals-list .hardware-deal-image a{
    height: 100%;
    width: 100%;

    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}

.hardware-deals-list .hardware-deal-button{
    grid-area: hardwareDealButton;

    display: flex;
    justify-content: center;
    align-items: center;
    padding: 10px;
}

@media (max-width: 767px){
    .hardware-deals-list .hardware-deal-item{
        grid-template-rows: 250px auto;
    }

    .hardware-deals-list .hardware-deal-button .btn{
        padding: 8px 15px;
        width: 100%
    }
}

/* Accordion */
.accordion-button{
    font-weight: bold;
}

.accordion-button:not(.collapsed){
    background-color: #ddd;
    border-bottom-color: #eee;
    color: #222f3e;
}

.accordion-body{
    font-size: .8rem;
    line-height: 1.3;
}

/* Tariffdetails Modal */
#modalTariffDetails table{
    min-width: 100%;
    margin-bottom: 30px;
}

#modalTariffDetails table th{
    padding: 5px 10px;

    background-color: #000;
    border: 1px solid #000;

    color: #fff;
    font-size: 12px;
}

#modalTariffDetails table td{
    padding: 5px 10px;

    border: 1px solid #000;
    font-size: 12px;
}

/* Pages */
.section-page a{
    color: #ff8531;
}

.section-page a:hover{
    color: #000;
}

.section-page ul,
.section-page ol{
    padding-left: 20px;

    margin-top: 20px;
    margin-bottom: 30px;

    color: #000;
    font-size: 14px;
    line-height: 19px;
}

/* Tarifdetails Modal */
#modalTariffDetails td{
    color: #000;
}

#modalTariffDetails h1,
#modalTariffDetails h2,
#modalTariffDetails h3,
#modalTariffDetails h4,
#modalTariffDetails h5{
    color: #000;
}

#modalTariffDetails .info-docs-elements ul{
    padding-left: 20px;
}

/* Footer*/
footer,
footer p{
    font-size: 12px;
}

footer .h5{
    margin-bottom: 30px;
}

footer ul{
    list-style-type: none;
}

footer li{
    margin: 10px 0;
}

/* White Label */
footer.white-label p{
    font-size: .8rem;
    line-height: 1.3;
}

/* Tariff Row */
.tariff-sort .form-label{
    font-size: .875em !important;
    color: #000;
    margin-bottom: 0;
}

.tariff-sort #tariff-sort{
    max-width: 165px;
}

.tariff-row{
    position: relative;
    display: grid;
    padding: 20px;
    margin-bottom: 20px;
    grid-template-columns: 250px auto 250px;
    grid-template-rows: auto;
    grid-template-areas:
        "tariff-image tariff-description tariff-price-area";

    border: 1px solid #ccc;
    border-radius: 5px;
    background-color: #fff;

    color: #000;
}

.tariff-row.has-border-badge{
    border-color: #ed5700;
    padding-top: 30px;
}

.tariff-row .tariff-border-badge{
    position: absolute;
    left: -1px;
    padding: 5px 50px;
    top: -12px;
    
    z-index: 2;
    color: #fff;
    font-size: .7rem;
    border-radius: 0px 0px 5px 0px;
    font-weight: bold;
    background-color: #292b24;
    clip-path: polygon(0 0, 100% 0, 95% 100%, 0% 100%);
}

.tariff-row .tariff-image{
    grid-area: tariff-image;
    padding-right: 20px;
    margin-right: 20px;

    border-right: 1px solid #ccc;
}

.tariff-row .tariff-badges{
    display: flex;
    justify-content: center;
    padding: 5px;
    margin-left: 0px;
    margin-right: 0px;
    margin-bottom: 30px;

    background: #eee;
    font-size: .875em;
}

.tariff-row .tariff-badge{
    padding-right: 20px;
    margin-right: 20px;

    border-right: 1px solid #ccc;
}

.tariff-row .tariff-badge:last-of-type{
    padding-right: 0px;
    margin-right: 0px;

    border-right: none;
}

.tariff-row .tariff-description{
    grid-area: tariff-description;
    padding-right: 20px;
    margin-right: 20px;

    border-right: 1px solid #ccc;
}

.tariff-row .tariff-description p{
    margin-bottom: 10px;
}

.tariff-row .tariff-description li{ 
    position: relative;
    padding-top: 3px;
    margin-bottom: 5px;
    padding-left: 1.5em; /* Platz für Icon */
    list-style: none; /* bullets entfernen */
}

.tariff-row .tariff-description li::before {
    content: '\f00c'; /* Font Awesome check icon */
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    color: green;
    position: absolute;
    left: 0;
    top: 0.1em;
}

.tariff-row .tariff-price-area{
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    grid-area: tariff-price-area;
}

.tariff-row .tariff-prices{
    display: grid;

    grid-template-columns: auto;
    grid-template-rows: auto;
    grid-template-areas:
        "tariff-price-original"
        "tariff-price-reduced"
        "tariff-price-note"
        "tariff-discount-percent";
}

.tariff-price-original{
    grid-area: tariff-price-original;
    text-align: right;
}

.tariff-price-reduced{
    grid-area: tariff-price-reduced;
    text-align: right;
}

.tariff-price-note{
    grid-area: tariff-price-note;
    text-align: right;
}

.tariff-discount-percent{
    grid-area: tariff-discount-percent;
    text-align: right;
}

.tariff-row .btn{
    font-weight: bold;
}

@media (max-width: 1400px) {
    .tariff-row {
        grid-template-columns: 220px auto 180px;
        padding: 10px;
    }

    .tariff-row .tariff-badges{
        font-size: .75em;
    }

    .tariff-row.has-border-badge{
        padding-top: 30px;
    }

    .tariff-row .tariff-image{
        padding-right: 10px;
        margin-right: 10px;
    }

    .tariff-row .tariff-description{
        padding-right: 10px;
        margin-right: 10px;
    }

    .tariff-row .tariff-badges {
        font-size: .75em;
    }

    .tariff-row .tariff-badge {
        padding-right: 5px;
        margin-right: 5px;
    }
}

@media (max-width: 1200px) {
    .tariff-row {
        grid-template-columns: 250px auto 200px;
    }

    .tariff-row .tariff-badges{
        font-size: .65em;
    }

    .tariff-row .tariff-badge {
        padding-right: 10px;
        margin-right: 10px;
    }
}

@media (max-width: 992px) {
    .tariff-row{
        display: grid;
        padding: 10px;
        margin-bottom: 20px;
        grid-template-columns: 150px auto 150px;
        grid-template-rows: auto;
        grid-template-areas:
            "tariff-image tariff-description tariff-price-area";
    
        border: 1px solid #ccc;
        border-radius: 5px;
    
        color: #000;
    }

    .tariff-row .tariff-image small{
        font-size: .6em;
    }

    .tariff-row .tariff-image small img{
        width: 15px !important;
    }

    .tariff-row .tariff-description{
        grid-area: tariff-description;
        padding-right: 10px;
        margin-right: 10px;
    }

    .tariff-row .tariff-badge{
        padding-right: 10px;
        margin-right: 10px;
    }

    .tariff-row .tariff-badges {
        display: flex;
        margin-left: 0px;
        margin-right: 0px;
        margin-bottom: 20px;
        font-size: .6em;
    }

    .tariff-row .tariff-badge {
        padding-right: 5px;
        margin-right: 5px;
    }
}

@media (max-width: 768px) {
    .tariff-row{
        padding: 10px 20px;

        grid-template-columns: auto;
        grid-template-rows: auto;
        grid-template-areas:
            "tariff-image"
            "tariff-description"
            "tariff-price-area";
    }

    .tariff-row .tariff-image{
        padding-right: 0;
        padding-bottom: 10px;
        margin-right: 0;
        margin-bottom: 10px;

        border-right: none;
        border-bottom: 1px solid #ccc;
    }

    .tariff-row .tariff-image small{
        font-size: .875em;
    }

    .tariff-row .tariff-image .tariff-title{
        font-size: 1.6em;
    }
    
    .tariff-row .tariff-badges {
        justify-content: center;
        font-size: .875em;
    }

    .tariff-row .tariff-description{
        padding-right: 0;
        padding-bottom: 10px;
        margin-right: 0;
        margin-bottom: 10px;

        border-right: none;
        border-bottom: 1px solid #ccc;
    }

    .tariff-row .tariff-description p{
        font-size: .875em;
    }

    .tariff-row .tariff-prices{
        display: grid;
    
        grid-template-columns: auto;
        grid-template-rows: auto;
        grid-template-areas:
            "tariff-price-reduced tariff-price-original"
            "tariff-price-note tariff-discount-percent";
    }

    .tariff-row .tariff-price-area .btn-primary{
        font-weight: bold;
    }

    .tariff-price-reduced{
        text-align: left;
    }
    
    .tariff-price-note{
        text-align: left;
    }

    .col-6 {
        flex: 0 0 auto !important;
        width: 50% !important;
    }
}

@media (max-width: 576px) {
    .tariff-row .tariff-badges {
        justify-content: center;
        font-size: .7em;
    }
}

/* Customer Reviews */
.review-carousel .item{
    display: flex;
    justify-content: center;
    margin-bottom: 20px;
}

.review-carousel .inner-carousel{
    width: 50%;

    text-align: center;
}

.review-carousel .inner-carousel p{
    line-height: 1.3;
}

.review-carousel .review-carousel-meta{
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    margin-top: 20px;

    color: #000;
}

.review-carousel .review-carousel-meta img{
    width: 30px !important;
    
    border-radius: 50%;
    border: 2px solid #f4f4f4;
}

.review-carousel .review-carousel-meta img:nth-of-type(2){
    margin-left: -20px;
}

.owl-carousel .owl-dot span{
    border-color: #000 !important;
    background: #f4f4f4 !important;
}

.owl-carousel .owl-dot.active span{
    border-color: #ed5700 !important;
    background: #ed5700 !important;
}

@media (max-width: 991px) {
    .review-carousel .inner-carousel{
        width: 100%;
    }
}

/* Newsletter Promo Banner */
.newsletter-promo-banner-component{
    display: grid;
    padding: 0 20px 0 0;

    grid-template-columns: 200px auto;
    grid-template-rows: auto;
    grid-template-areas:
        "npb-image npb-headlines"
        "npb-image npb-action";

    column-gap: 20px;

    border: 1px solid #ccc;
    border-radius: 5px;
}

.npb-image{
    grid-area: npb-image;
    text-align: center;
}

.npb-headlines{
    display: flex;
    flex-direction: column;
    justify-content: end;
    padding-bottom: 20px;
    grid-area: npb-headlines;
}

.npb-headlines h2{
    margin-bottom: 0;

    font-size: 1.75rem;
    font-weight: normal;
}

.npb-headlines h3{
    margin-bottom: 0;

    font-size: 2rem;
    font-weight: bold;
}

.npb-action{
    grid-area: npb-action;
}

.npb-action .btn{
    font-weight: bold;
}

@media (max-width: 768px) {
    .newsletter-promo-banner-component{
        display: grid;
        padding: 0 10px 10px 10px;
    
        grid-template-columns: auto;
        grid-template-rows: auto;
        grid-template-areas:
            "npb-image"
            "npb-headlines"
            "npb-action";
    
        column-gap: 0px;
    }

    .npb-image img{
        width: 200px;
    }

    .npb-headlines h2{
        font-size: .8rem;
        text-align: center;
    }
    
    .npb-headlines h3{
        font-size: 1.5rem;
        text-align: center;
    }

    .npb-action .btn{
        font-weight: bold;
    }

    #newsletterSuccess,
    #newsletterError{
    }
}

@media (max-width: 768px) {
    #cartModal .cart-item img{
        width: 20px !important;
    }

    #cartModal .cart-item,
    #cartModal .cart-item span{
        font-size: .875rem !important;
    }
}