/* DENTA PACKEAGE DEALS */
.productConfig h1.product-title {
    text-align: center;
}

.productConfig .row.productConfig-detail {
    text-align: center;
}

.productConfig .checkboxContainer, .productConfig .bottomSaveBtn, .productConfig .packageDealLogin, .productConfig .btn-cart {
    color: #fff !important;
    background-color: #378b62 !important;
    border-radius: 4px !important;
    border-color: #378b62 !important;
}

.row.packagedealrow .checkboxContainer .checkmark-pd {
    top: 15px;
    left: 15px;
}

/* ---- Package Deals Section ---- */
.packageDealsActions {
    margin-top: 30px;
    width: 100%;
    display: inline-block;
}

.floatMenuPD {
    margin-bottom: 0;
    font-size: 12px;
    font-weight: 400;
}

.floatMenuLine {
    border-bottom: none !important;
}

.floatMenuLine td {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.floatMenuLine img {
    margin-top: 10px;
}

.floatMenuGreyLine {
    border-bottom: 1px solid #ddd !important;
}

.packageDealQty {
    text-align: center;
}

.qtyPackageDeal {
    padding-right: 8px;
}

.mb-10 {
    margin-bottom: 10px;
}

.PackageDealProduct .priceOrQuantity, .PackageDealProduct .price {
    padding: 0 10px;
}

#PackageDealAddToCart, .packageDealLogin {
    border-radius: 4px;
    color: #fff;
    display: block;
    float: left;
    font-family: Oswald,Helvetica Neue,Arial,sans-serif;
    font-size: 18px;
    font-weight: lighter;
    line-height: 1em;
    margin: 0 20px 0 0;
    padding: 14px 20px;
    text-transform: uppercase;
    text-align: center;
}

#PackageDealAddToCart.disabled {
    background: grey !important;
    border: none;
    color: lightgrey;
}

#PackageDealAddToCart.disabled:hover {
    color: lightgrey !important;
    cursor: auto;
}

.packageDealErr {
    background: #ffebeb;
    padding: 10px;
    margin: 10px;
    width: 100%;
}

.packageDealErr i {
    padding-right: 5px;
}

.packageDealErrQty {
    font-weight: 700;
    padding-left: 3px;
}

.packageDealMoreInfo {
    font-size: 14px;
    text-transform: none;
    display: block;
    line-height: 16px;
    color: #378b62;
}

.configurationSection .item {
    margin: 10px;
    color: #fff;
    border-radius: 4px;
    text-align: center;
    height: auto !important;
    position: relative;
    z-index: 0;
}

.row.packagedealrow {
    padding-top: 20px;
}

.row.packagedealrow:last-child {
    padding-bottom: 20px;
}

.row.packagedealrow .h1 {
    font-weight: 200;
    letter-spacing: .25px;
    text-transform: uppercase;
    font-size: 1.5em;
    position: relative;
    padding: 10px 5px 10px 5px;
    text-align: center;
    border-top: 1px solid #a2d9be;
    border-bottom: 1px solid #a2d9be;
}

.h1.valid .checkboxContainer .checkmark-pd {
    background: #46b37e;
}

    .h1.valid .checkboxContainer .checkmark-pd:after {
        content: " ";
        position: absolute;
        left: 5px;
        top: 2px;
        width: 6px;
        height: 9px;
        border: solid #fff;
        border-width: 0 3px 3px 0;
        transform: rotate(45deg);
    }

.row.packagedealrow .h1.valid {
    background: #ddf3da;
    border-bottom: 1px solid #a2d9be;
}

    .row.packagedealrow .h1.invalid {
        background: #ffebeb;
        border-color: #ffafaf;
    }

        .row.packagedealrow .h1.invalid .packageDealMoreInfo {
            color:red;
        }

        .row.packagedealrow .h1.invalid .checkboxContainer {
            background: #e34242 !important;
            border-color: #8d0303 !important;
        }

    .row.packagedealrow .h1.invalid .checkboxContainer .checkmark-pd:after {
        position: absolute;
        content: "\00d7";
        left: 3px;
        top: -10px;
        width: 8px;
        height: 13px;
        font-size: 17px;
        border: none;
        transform: rotate(0deg);
    }

.row.packagedealrow .h1.invalid .checkboxContainer input:checked ~ .checkmark-pd {
    background-color: #a53737;
    border-color: #810606;
}

.configurationSection {
    display: flex;
    flex-wrap: wrap;
}

.configurationSection .w20 {
    flex: 0 0 16.6666%;
}

.configurationSection.valid {
    border: 3px solid #ddf3da;
}

.configurationSection.invalid {
    border: 3px solid #ffebeb;
}

.configurationSection .item .product {
    position: relative;
}

.configurationSection .item .product .description {
    padding: 0 10px;
}

.configurationSection .item h2, .configurationSection .item p.h2 {
    margin: 5px 0 0 0;
    font-size: 16px;
}

/* Open or close a tab */
.toggleOpenClose {
    position: absolute;
    font-size: 14px;
}

.configurationSection.closed {
    overflow: hidden;
    max-height: 0 !important;
    transition: max-height 0.3s ease-out;
    border: none;
}

.configurationSection.opened {
    padding: 10px;
    overflow: hidden;
    /*max-height: 5000px;*/
    transition: max-height 0.3s ease-in;
}

@media screen and (max-width:991px) {
    .configurationSection.opened {
        max-height: 100% !important;
        overflow: initial;
    }
}

.closed .vertical {
    transition: all 0.5s ease-in-out;
    transform: rotate(-90deg);
}

.closed .horizontal {
    transition: all 0.5s ease-in-out;
    transform: rotate(-90deg);
    opacity: 1;
}

.opened {
    opacity: 1;
}

.opened .vertical {
    transition: all 0.5s ease-in-out;
    transform: rotate(90deg);
}

.opened .horizontal {
    transition: all 0.5s ease-in-out;
    transform: rotate(90deg);
    opacity: 0;
}

.circle-plus {
    cursor: pointer;
    height: 4em;
    width: 4em;
    font-size: 1em;
    opacity: 0.7;
}

.circle-plus .circle {
    position: relative;
    width: 2.55em;
    height: 2.5em;
    border-radius: 100%;
    margin-top: 6px;
    /*border: solid 0.5em #dfdad7;*/
}

.circle-plus .circle .horizontal {
    position: absolute;
    background-color: #1c750e;
    width: 19px;
    height: 1px;
    left: 50%;
    margin-left: -9px;
    top: 50%;
    margin-top: -2px;
}

.circle-plus .circle .vertical {
    position: absolute;
    background-color: #000000;
    width: 1px;
    height: 19px;
    left: 50%;
    margin-left: -0.5px;
    top: 50%;
    margin-top: -10px;
}

.pd-inputs-wrapper {
    display: flex;
    justify-content: space-around;
    align-items: center;
    max-width: 135px;
    margin: 0 auto;
}

.config-actions {
    border-top: 1px solid #dddddd;
    padding: 5px 0;
}

.config-quantity {
    margin-bottom: 0px !important;
    width: 50px;
    text-align: right;
}

.product.active {
    border: 2px solid #006132;
}

.readDesc {
    z-index: 600;
    position: absolute;
    top: 0;
    right: 0;
    padding: 10px 15px;
    color: #006132;
}

.readDesc:hover {
    cursor: pointer;
}

.config-desc-content {
    color: #454545;
    position: absolute;
    background: white;
    z-index: 500;
    right: auto;
    border: 1px solid #dddddd;
    margin: 5px;
    top: 30px;
    padding: 10px;
}

.config-desc-title {
    font-weight: bold;
    border-bottom: 1px solid #dddddd;
    padding-bottom: 10px;
}

.packageDealURL {
    color: #fff;
    background: #ff8d00;
    padding: 10px !important;
    display: inline-block;
    border: 2px solid #ff8d00;
    font-size: 16px;
    /*font-weight: lighter;*/
    line-height: 1.3em;
    /*font-family: Oswald, Helvetica Neue, Arial, sans-serif;*/
    border-radius: 4px;
    text-align: center;
    width: 100%;
    text-transform: uppercase;
    margin-bottom:5px;
}

.packageDealURL:hover {
    background: #ffdbae;
}

.row.packagedealrow .checkboxContainer {
    top: 4px;
    position: absolute;
    right: 0;
}

.row.packagedealrow .checkboxContainer:hover {
    background: #006900;
}

.row.packagedealrow .checkboxContainer {
    float: right;
    background: #378b62;
    font-family: 'Rubik', sans-serif !important;
    color: white;
    font-size: 12px;
    position: absolute;
    padding: 5px 20px 5px 40px;
    right: 5px;
    top: 6px;
    font-weight: 400;
    border: 1px solid #378b62;
    min-height: 37px;
    text-transform: uppercase;
    line-height: 37px;
}

.saveButtonBottomWrapper {
    width: 100%;
    position: relative;
}

.saveButtonBottomWrapper .bottomSaveBtn {
    float: right;
    background: #378b62;
    font-family: 'Rubik', sans-serif !important;
    color: white;
    font-size: 12px;
    padding: 5px 20px;
    text-transform: uppercase;
    border: 1px solid #378b62;
    display: inline-block;
    transition: all .2s ease-in-out;

    font-weight: 400;
    min-height: 37px;
    line-height: 37px;
}

.saveButtonBottomWrapper .bottomSaveBtn:hover {
    cursor: pointer;
    background: #006900;
}

.productConfig input[type="text"] {
    text-align: center;
}

#ConfiguratorBasket .configbasket {
    background: #fff;
    box-shadow: 2px 2px 8px #eaeaea;
    padding: 20px;
    border: 1px solid #dddddd;
}

.mainArticle {
    font-weight: bold;
    text-transform: uppercase;
}

.configItemsTable {
    /*border: 1px solid #dddddd;*/
    width: 100%;
}

.fwb {
    font-weight: bold;
}

@media screen and (max-width:768px) {
    #ConfiguratorAddToCart {
        margin-bottom: 15px;
    }

    .row.packagedealrow .h1 {
        display: flex;
        flex-direction: column;
    }

        .row.packagedealrow .h1 .checkboxContainer {
            position: relative;
            order: 3;
            margin-left: 20px;
        }

        .row.packagedealrow .h1 .packageDealMoreInfo {
            position: relative;
            order: 2;
        }

    #ConfiguratorBasket {
        position: relative;
        width: 100%;
    }

    .configItemsTableTotals {
        margin-top: 30px !important;
    }

    .deleteConfigItem {
        font-size: 30px;
    }

    .configProduct {
        font-weight: bold;
    }
    /* Force table to not be like tables anymore */
    .configItemsTable table, .configItemsTable tbody, .configItemsTable th, .configItemsTable td, .configItemsTable tr {
        display: block;
    }

    .read-more-wrap hr {
        display: none;
    }

    /* Hide table headers (but not display: none;, for accessibility) */
    tr.tableHeader {
        position: absolute;
        top: -9999px;
        left: -9999px;
    }

    .configItemsTable tr {
        border-left: 1px solid #eee;
        border-right: 1px solid #eee;
    }

    .configItemsTable tbody {
        border-top: 1px solid #eee;
        margin-top: 10px;
    }

    .configItemsTable td {
        text-align: center;
        /* Behave  like a "row" */
        border: none;
        border-bottom: 1px solid #eee;
        position: relative;
        padding-left: 50%;
    }

    .configItemsTable .configAmount {
        width: calc(100% - 50px);
    }

    .configItemsTable td:before {
        /* Now like a table header */
        position: absolute;
        /* Top/left values mimic padding */
        top: 6px;
        left: 6px;
        width: 45%;
        padding-right: 10px;
        white-space: nowrap;
    }
}

.configItemsTableTotals {
    transition: margin-top 150ms ease-in-out;
    width: 68%;
    float: right;
    border: 1px solid #e5e5e5;
    margin-top: 20px;
}

    .configItemsTableTotals tr td, .configItemsTableTotals tr th {
        padding: 15px 10px;
        text-align: right;
    }

.configItemsTableTotalsMobile {
    margin-top: 25px;
    border: 1px solid #e5e5e5;
    display: none;
}

    .configItemsTableTotalsMobile tr {
        display: flex;
        border-bottom: 1px solid #e5e5e5;
    }

    .configItemsTableTotalsMobile tbody {
        display: block;
    }

    .configItemsTableTotalsMobile td {
        width: 50%;
        padding: 10px;
    }

@media screen and (max-width: 991px) {
    .configbasket {
        margin-top: 30px;
    }

    .configItemsTableTotals {
        display: none;
    }

    .configItemsTableTotalsMobile {
        display: block;
    }

    .configurationSection .w20 {
        flex: 0 0 50%;
    }
}

@media screen and (max-width: 767.98px) {
    .configurationSection .w20 {
        flex: 0 0 100%;
    }
}

.configItemsTableTotals tr {
    border-bottom: 1px solid #e6e6e6;
}

    .configItemsTableTotals tr:last-child {
        border-bottom: none;
    }

.configItemsTableTotals td {
    padding: 5px;
}

.configAmount {
    width: 43px;
    border-radius: 0 !important;
    border: 1px solid #e6e6e6;
    padding: 10px 0 10px;
    text-align: center;
}

    .configAmount::-webkit-outer-spin-button,
    .configAmount::-webkit-inner-spin-button {
        -webkit-appearance: none;
        margin: 0;
    }

/* Firefox */
.configAmount {
    -moz-appearance: textfield;
}

.configAmountLess {
    border: 1px solid #e4e4e4;
    padding: 10px 5px;
    height: 43px;
    display: inline-block;
}

.configAmountMore {
    border: 1px solid #e4e4e4;
    padding: 10px 5px;
    height: 43px;
    display: inline-block;
}

    .configAmountLess:hover, .configAmountMore:hover {
        cursor: pointer;
        background-color: #f7f7f7;
    }

.deleteConfigItem {
    font-weight: bold;
    color: #f96b6b;
    cursor: pointer;
}

.configItemsTable tr:nth-child(odd) {
    background-color: #f7f7f7;
}

/*.configItemsTableTotals {
    border: 1px solid #e6e6e6;
}*/

.configItemsTable tr td, .configItemsTable tr th {
    padding: 15px 10px;
    font-size: 12px;
    text-align: right;
}
/* Read more css */
.read-more-state {
    display: none;
}

.read-more-target {
    font-size: 0;
    margin: 0;
    opacity: 0;
    max-height: 0;
    font-size: 0;
    transition: .25s ease;
}

.read-more-state:checked ~ .read-more-wrap .read-more-target {
    opacity: 1;
    font-size: inherit;
    max-height: 999em;
}

.read-more-wrap {
    max-height: 0;
    overflow: hidden;
}

.read-more-state:checked ~ .read-more-wrap {
    max-height: 999em;
}

/*.read-more-state ~ .read-more-trigger:before {
    content: 'Show more';
}

.read-more-state:checked ~ .read-more-trigger:before {
    content: 'Show less';
}*/

.read-more-trigger {
    letter-spacing: 1px;
    font-family: "Oswald", Helvetica Neue, Arial, sans-serif;
    cursor: pointer;
    display: inline-block;
    padding: 0 .5em;
    color: #fff;
    font-size: 12px;
    line-height: 2;
    border-radius: 0;
    background-color: #006132;
    font-weight: 400;
    text-transform: uppercase;
}

.configbasket .btn-cart {
    border-radius: 4px;
    color: #fff;
    display: block;
    float: left;
    font-family: Oswald,Helvetica Neue,Arial,sans-serif;
    font-size: 18px;
    font-weight: lighter;
    padding: 10px 20px;
    height: 42px;
    margin: 0 20px 0 0;
    text-transform: uppercase;
    text-align: center;
}

.p-0 {
    padding: 0;
}