/* -------------------------------------------- */
/* Bosch Extranet Relaunch 2017 */
/* Version: 1.175 */
/* -------------------------------------------- */
/* Created by @twotribes, Germany */
/* -------------------------------------------- */
/* Browser Scope: ALL */
/* StyleSheet Scope: ACTORS for main content */
/* !-------------------------------------------- */

/* !-------------------------------------------- */
/* !ACTOR: Authentication */
/* !-------------------------------------------- */

#actor_authentication {
    background: linear-gradient(135deg, #005691, #47AADA);
    color: #fff;
}

/* --- Container */
#actor_authentication .authentication-blocks {
    padding: 64px 0 64px 0;
    position: relative;
}

/* vertical separator line */
#actor_authentication .authentication-blocks:before {
    content: "";
    display: block;
    position: absolute;
    width: 1px;
    background: #fff;
    height: calc(100% - 128px);
    top: 64px;
    left: 50%;
}

#actor_authentication .authentication-blocks:after {
    content: "";
    display: table;
    clear: both;
}

#actor_authentication .authentication-login {
    float: left;
    width: 360px;
    margin: 0 230px 0 115px;
}

#actor_authentication .authentication-login ~ .cell {
    float: left;
    width: 360px;
    margin: 0;
}

/* --- Login Form */
#actor_authentication .authentication-login h1 {
    font-size: 28px;
    line-height: 32px;
    font-weight: 100;
    margin-bottom: 32px;
}

#actor_authentication .authentication-login .substance-form > p {
    font-size: 14px;
    line-height: 20px;
}

#actor_authentication .authentication-login .substance-form p + .substance-fieldlist, 
#actor_authentication .authentication-login .substance-form .substance-message + .substance-fieldlist {
    margin-top: 32px;
}

#actor_authentication .authentication-login .field-entry {
    margin-bottom: 32px;
}

#actor_authentication .authentication-login .link-action {
    font-size: 14px;
    line-height: 40px;
}

#actor_authentication .authentication-login .primary-action {
    float: right;
}

/* --- Multi-purpose second block */
#actor_authentication .authentication-login + .cell h2 {
    font-size: 28px;
    line-height: 32px;
    font-weight: 100;
    margin-bottom: 32px;
}

#actor_authentication .authentication-login + .cell .primary-action {
    float: right;
    margin-top: 32px;
}

/* --- Invitation block */
#actor_authentication .authentication-invite .substance-image {
    width: 100%;
    margin-bottom: 32px;
}

#actor_authentication .authentication-invite h3 {
    font-size: 16px;
    line-height: 20px;
    font-weight: 100;
    margin-bottom: 32px;
}

#actor_authentication .authentication-invite li {
    font-size: 14px;
    line-height: 20px;
    margin-bottom: 8px;
    padding-left: 20px;
    position: relative;
}

#actor_authentication .authentication-invite li:before {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    top: 6px;
    height: 8px;
    width: 8px;
    background: rgba(255,255,255,0.5);
}

/* --- Confirmation block */
/* Edge cases: Displaying warning messages inside of authentication blocks (standard background colors don't work well here) */
#actor_authentication .authentication-confirmation .substance-message {
    margin-bottom: 32px;
    background-color: #fff;
}

/* !-------------------------------------------- */
/* !ACTOR: Help */
/* !-------------------------------------------- */

#actor_help .help-questions {
    margin-top: 64px;
}

#actor_help .help-questions h2 {
    font-size: 28px;
    font-weight: 100;
    margin-bottom: 16px;
}

/* !-------------------------------------------- */
/* !ACTOR: Welcome / Dashboards */
/* !-------------------------------------------- */

/* --- Outer containers */
#actor_welcome {
    background: linear-gradient(135deg, #005691, #47AADA);
    padding: 64px 0 64px 0;
}

/* --- Welcome message */
#actor_welcome h1 {
    color: #fff;
    font-weight: 100;
    font-size: 36px;
    line-height: 40px;
}

#actor_welcome .welcome-announcement {
    color: #fff;
    font-size: 20px;
    line-height: 24px;
    margin-bottom: 32px;
}

#actor_welcome .welcome-announcement h2 {
    font-weight: bold;
    font-size: 16px;
    line-height: 20px;
    margin-bottom: 8px;
}

#actor_welcome .welcome-announcement h2 em {
    font-weight: normal;
}

#actor_welcome .welcome-announcement .announcement-more {
    margin-top: 8px;
    font-weight: 200;
    font-size: 14px;
    line-height: 18px;
}

/* --- Dashboard containers */
#actor_welcome .welcome-dashboard .dashboard-wrapper {
    display: flex;
    justify-content: space-between;
    position: relative;
    width: 100%;
}

#actor_welcome .welcome-dashboard .dashboard-wrapper > .cell {
    width: calc((100% / 3) - (64px / 3));
    vertical-align: top;
    position: relative;
    background: #fff;
    padding: 32px 32px 104px 32px;
}

/* Edge case: This content type is filled w/ an <iframe>, positioned absolute, static height of 554px */
body:not(.reporting-tile) #actor_welcome .welcome-dashboard .dashboard-wrapper > .cell.dashboard-stats {
    padding: 0;
/*     height: 100%; this achieves the opposite with iframes which are less tall than neighbors */
    min-height: 554px; /* Edge case for <iframe> content - this works for _some_ browsers although it shouldn't */
}

#actor_welcome .welcome-dashboard .dashboard-wrapper > .cell.dashboard-stats iframe {
    display: block;
    height: 100%;
    width: 100%;
    position: absolute;
}

/* IE11: Has major problems with the <iframe> height scaling. So we initialize to tallest possible height statically */
@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
    #actor_welcome .welcome-dashboard .dashboard-wrapper {
        min-height: 645px;
    }

    #actor_welcome .welcome-dashboard .dashboard-wrapper > .cell.dashboard-stats iframe {
        position: static;
        height: 645px;
    }
}

/* General headlines for all content types */
#actor_welcome .welcome-dashboard .cell h2 {
    font-weight: 100;
    font-size: 20px;
    line-height: 24px;
    margin-bottom: 32px;
}

/* Make sure embedded actions are always placed at bottom of content boxes */
#actor_welcome .welcome-dashboard .dashboard-wrapper .cell > .primary-action, 
#actor_welcome .welcome-dashboard .dashboard-wrapper .substance-toolchain {
    position: absolute;
    bottom: 32px;
    right: 32px;
}

/* --- Dashboard Statistics */
#actor_welcome .dashboard-wrapper .dashboard-stats .substance-pricelist {
    padding-top: 16px;
    border-top: 1px solid #dfdfe0;
    margin-top: 16px;
}

/* --- Dashboard Orders */
#actor_welcome .dashboard-wrapper .dashboard-orders .order-shortcut {
    font-size: 14px;
    line-height: 20px;
    padding-bottom: 32px;
    border-bottom: 1px solid #dfdfe0;
    margin-bottom: 32px;
}

#actor_welcome .dashboard-wrapper .dashboard-orders .order-shortcut .link-action {
    display: inline;
}

/* --- Dashboard Highlight product */
#actor_welcome .dashboard-wrapper .dashboard-product.product-promotion:before {
    top: 88px;
    left: 32px;
}

/* Remotely loaded product containers: Enforce 16:9 proportion for unsufficiently flagged image containers */
#actor_welcome .dashboard-wrapper .dashboard-product .product-list .product-image {
    min-height: 166px;
}

/* Remotely loaded product containers: Enforce min-height on (different) banner wrapper*/
#actor_welcome .dashboard-wrapper .dashboard-product .product-list .highlight-wrapper {
    height: 83px;
    overflow: hidden;
}

/* --- Dashboard Newsteaser */
/* Entry container */
#actor_welcome .welcome-dashboard .dashboard-wrapper .dashboard-newsteaser {
    padding-bottom: 32px;
}

#actor_welcome .dashboard-wrapper .dashboard-newsteaser .newslist-story:not(:first-child), 
#actor_welcome .dashboard-wrapper .dashboard-newsteaser .substance-doc:not(:first-child) {
    padding-top: 16px;
    border-top: 1px solid #dfdfe0;
    margin-top: 16px;
}

/* News story elements */
#actor_welcome .dashboard-wrapper .dashboard-newsteaser .substance-image, 
#actor_welcome .dashboard-wrapper .dashboard-newsteaser .substance-video {
    margin-bottom: 16px;
}

#actor_welcome .dashboard-wrapper .dashboard-newsteaser .newslist-story .story-title {
    font-weight: 400;
    font-size: 18px;
    line-height: 22px;
    margin-bottom: 16px;
}

#actor_welcome .dashboard-wrapper .dashboard-newsteaser .newslist-story .story-date {
    font-size: 14px;
    line-height: 18px;
    margin-bottom: 8px;
}

#actor_welcome .dashboard-wrapper .dashboard-newsteaser .newslist-story .story-content {
    font-size: 14px;
    line-height: 20px;
    margin-bottom: 16px;
}

#actor_welcome .dashboard-wrapper .dashboard-newsteaser .newslist-story .link-action {
    font-size: 14px;
    line-height: 18px;
}

/* Download item elements */
#actor_welcome .dashboard-wrapper .dashboard-newsteaser .substance-doc .doc-type {
    top: 16px;
}

#actor_welcome .dashboard-wrapper .dashboard-newsteaser .substance-doc .doc-description {
    font-weight: 200;
}

#actor_welcome .dashboard-wrapper .dashboard-newsteaser .substance-doc > .link-action {
    margin-top: 16px;
}

/* --- Dashboard PE4 page teasers */
#actor_welcome .welcome-dashboard .dashboard-wrapper .dashboard-pageteaser {
    padding-bottom: 32px;
}

#actor_welcome .welcome-dashboard .dashboard-wrapper .dashboard-pageteaser .boxmatrix-list .cell + .cell {
    margin-top: 48px;
}

/* --- Dashboard Campaign teasers */
#actor_welcome .welcome-dashboard .dashboard-wrapper .dashboard-campaignteaser {
    padding: 0;
}

#actor_welcome .welcome-dashboard .dashboard-wrapper .dashboard-campaignteaser .substance-stage .stage-content {
    padding-bottom: 72px;
}

#actor_welcome .welcome-dashboard .dashboard-wrapper .dashboard-campaignteaser .substance-stage .primary-action {
    position: absolute;
    bottom: 32px;
    left: 16px;
}

/* --- Dashboard Quick add */
#actor_welcome .dashboard-wrapper .dashboard-quickadd form > .substance-fieldlist .field-entry:not(.entry-checkbox) {
    margin-bottom: 32px;
}

#actor_welcome .dashboard-wrapper .dashboard-quickadd .field-entry.has-comment .flyout-host, 
#actor_welcome .dashboard-wrapper .dashboard-quickadd .field-entry.has-error .flyout-host {
    margin-top: -23px;
}

#actor_welcome .dashboard-wrapper .dashboard-quickadd .field-helper .data-action {
    font-size: 14px;
    line-height: 20px;
    display: block;
}

#actor_welcome .dashboard-wrapper .dashboard-quickadd .field-helper .data-action + .data-action, 
#actor_welcome .dashboard-wrapper .dashboard-quickadd .field-helper + .field-helper {
    margin-top: 16px;
}

/* --- Dashboard Quick links */
#actor_welcome .dashboard-quicklinks {
    margin-top: 32px;
    display: table;
    width: 100%;
    padding: 32px;
    background: #fff;
}

#actor_welcome .dashboard-quicklinks h2 {
    white-space: nowrap;
    display: table-cell;
    vertical-align: top;
    padding-right: 32px;
}

#actor_welcome .dashboard-quicklinks .link-list {
    width: 1140px; /* Trick to make sure headline and button always stay left/rightmost within the container */
    display: table-cell;
    vertical-align: top;
}

#actor_welcome .dashboard-quicklinks .data-action {
    white-space: nowrap;
    display: table-cell;
    vertical-align: top;
}

#actor_welcome .dashboard-quicklinks .molecule {
    float: left;
    margin-right: 8px;
    margin-bottom: 8px;
}

/* !-------------------------------------------- */
/* !ACTOR: Recommendations */
/* !ACTOR: Recently viewed */
/* !-------------------------------------------- */

#actor_recommendations, 
#actor_recently {
    background: url("./img/back/supergraphic_grey.svg") 0 0 no-repeat;
    background-size: cover;
    padding-top: 64px;
    padding-bottom: 32px;
}

#actor_recommendations .carousel-head {
    margin-bottom: 32px;
}

/* --- Crosslink to campaign page */
#actor_recommendations .carousel-head + .primary-action {
    margin: 0;
    position: absolute;
    top: 79px;
    right: calc((100vw - 1140px) / 2);
}

@media only screen and (max-width: 1199px) {
    #actor_recommendations .carousel-head + .primary-action {
        right: 15px;
    }
}

/* --- Production only: Reduce flickering during AJAX reloads */
#actor_recommendations .carousel-list:not(.list-loading):not(.list-empty), 
#actor_recently .carousel-list:not(.list-loading):not(.list-empty) {
    min-height: 488px;
}

#actor_recommendations .carousel-list.product-list, 
#actor_recently .carousel-list.product-list {
    min-height: 461px;
}

/* A temporary <div> is used during updates, so we're assigning it temporary .substance-carousel > .cell properties */
#actor_recommendations .carousel-list > div, 
#actor_recently .carousel-list > div {
    background: #fff;
    padding: 16px 16px 72px 16px;
    position: relative;
    display: table-cell;
    vertical-align: top;
    width: 25%;
    font-size: 12px;
    overflow: hidden;
}

/* This technical element exists only temporarily but it must not consume height */
#actor_recommendations .carousel-list .cell .tool-chain-placeholder, 
#actor_recently .carousel-list .cell .tool-chain-placeholder {
    display: none;
}

#actor_recommendations .carousel-nav.nav-pointed, 
#actor_recently .carousel-nav.nav-pointed {
    height: 55px;
}

/* !-------------------------------------------- */
/* !ACTOR: News teaser */
/* !-------------------------------------------- */

#actor_newsteaser {
    background: linear-gradient(135deg, #005691, #018ece);
    color: #fff;
    padding: 64px 0 32px 0;
}

#actor_newsteaser h1 {
    font-weight: 200;
    font-size: 36px;
    line-height: 40px;
}

#actor_newsteaser .newslist .newslist-story, 
#actor_newsteaser .newslist .newslist-docteaser {
    font-size: 14px;
    line-height: 18px;
    float: left;
    width: 360px;
    margin-right: 30px;
    margin-bottom: 32px;
}

#actor_newsteaser .newslist .newslist-story .story-content {
    font-weight: 400; 
}

#actor_newsteaser .newslist .newslist-docteaser {
    margin-right: 0;
    margin-top: 42px;
}

#actor_newsteaser .newslist:after {
    content: "";
    display: table;
    clear: both;
}

#actor_newsteaser .newslist-story h2, 
#actor_newsteaser .newslist-docteaser h2 {
    font-weight: 500;
    font-size: 20px;
    line-height: 24px;
    margin-bottom: 24px;
}

#actor_newsteaser .newslist-story .story-date {
    margin-bottom: 24px;
}

#actor_newsteaser .newslist-story .link-action {
    margin-top: 16px;
}

#actor_newsteaser .newslist-docteaser .substance-doc:not(:last-child) {
    margin-bottom: 32px;
}

#actor_newsteaser > .primary-action {
    display: table;
    margin: auto;
}

/* !-------------------------------------------- */
/* !ACTOR: Cart header */
/* Expressions: (default), submitted */
/* !-------------------------------------------- */

#actor_cart_head {
    margin-top: 64px;
}

/* --- Cart title and editing tools */
#actor_cart_head .cart-title:after {
    content: "";
    display: block;
    clear: both;
}

#actor_cart_head .cart-title:last-child {
    margin-bottom: 32px;
}

/* Components of cart title editor */
#actor_cart_head .substance-title-picker {
    float: left;
    margin-bottom: 32px;
}

#actor_cart_head.expression-submitted h1 {
    font-size: 28px;
    line-height: 32px;
    font-weight: 200;
    margin-bottom: 32px;
    float: left;
}

#actor_cart_head .cart-title > .data-action {
    float: right;
    font-size: 14px;
    line-height: 18px;
    margin: 9px 10px 0 0;
}

#actor_cart_head .substance-title-picker.picker-editing ~ .data-action {
    display: none;
}

/* --- Page tools */
#actor_cart_head .substance-pageshare {
    float: right;
}

/* --- Optional title details */
#actor_cart_head .title-detail {
    position: relative;
    clear: both;
    top: -16px;
    margin-bottom: 32px;
    font-size: 14px;
}

/* --- Optional progress bar */
#actor_cart_head .cart-progress {
    clear: both;
    margin-bottom: 32px;
}

/* !-------------------------------------------- */
/* !ACTOR: Cart list - Display of "normal" entries */
/* Expressions of #actor_cart: (default), expert */
/* !-------------------------------------------- */

/* --- Quick-add box */
#actor_cart .cart-quickadd {
    background: rgb(245,246,246); /* spec'd but not part of Bosch system */
    padding: 16px;
    margin-bottom: 48px;
}

#actor_cart .cart-quickadd:after {
    content: "";
    display: table;
    clear: both;
}

/* Input fields */
#actor_cart .cart-quickadd > .substance-fieldlist {
    width: calc(100% - 60px);
    float: left;
}

#actor_cart .cart-quickadd > .substance-fieldlist > .field-entry {
    float: left;
    width: calc(50% - 12px);
}

#actor_cart .cart-quickadd > .substance-fieldlist > .field-entry:nth-child(odd) {
    margin-right: 24px;
}

#actor_cart .cart-quickadd > .substance-fieldlist > .field-entry:nth-child(n+3) {
    margin-top: 16px;
}

#actor_cart .cart-quickadd > .substance-fieldlist .field-helper {
    clear: both;
}

/* Product suggestion flyout */
#actor_cart .cart-quickadd .field-entry.has-comment .flyout-host, 
#actor_cart .cart-quickadd .field-entry.has-error .flyout-host {
    margin-top: -23px;
}

/* Buttons */
#actor_cart .cart-quickadd .icon-cart-add {
    float: right;
}

#actor_cart .cart-quickadd .icon-add {
    font-size: 14px;
    line-height: 20px;
    font-weight: 400;
    margin-top: 16px;
}

/* --- Display tools */
/* List of selector + filter controls */
#actor_cart .cart-display .display-controls {
    display: table;
    width: 100%;
    margin-bottom: 12px;
}

#actor_cart .cart-display .display-controls .cell {
    display: table-cell;
    /* white-space: nowrap; Could be dangerous to use because adjacent <select> boxes would shrink */
    text-align: center;
    font-size: 12px;
}

#actor_cart .cart-display .display-controls .control-head {
    text-align: left;
}

#actor_cart .cart-display .display-controls .control-select .data-action, 
#actor_cart .cart-display .display-controls .control-action .data-action {
    border-left: 1px solid #dfdfe0;
    padding: 0 8px 0 8px;
    width: 100%;
    text-align: center;
}

#actor_cart .cart-display .display-controls .cell:nth-child(2) .data-action, 
#actor_cart .cart-display .display-controls .display-head + .cell .data-action {
    border-left: none;
}

#actor_cart .cart-display .display-controls .field-entry {
    padding-left: 12px;
}

#actor_cart .cart-display .display-controls .control-view {
    width: 100px;
    background-color: #EFEFF0;
    border-left: 16px solid #fff;
    vertical-align: middle;
}

/* Global cart messages */
#actor_cart .cart-display .substance-message + .substance-message {
    margin-top: 16px;
}

/* --- Cart entry: Container layout */
#actor_cart .cart-product {
    padding: 32px 0 32px 0;
    border-bottom: 1px solid #dfdfe0;
}

#actor_cart .cart-product:last-child {
    border-bottom: none;
}

#actor_cart .cart-product .productsection-control,
#actor_cart .cart-product .productsection-id,
#actor_cart .cart-product .productsection-info,
#actor_cart .cart-product .productsection-price {
    float: left;
    font-size: 12px;
}

#actor_cart .cart-product .productsection-control {
    width: 30px;
    min-height: 1px; /* enforces min-width if this container is empty */
}

#actor_cart .cart-product .productsection-id {
    width: 138px;
    margin-right: 30px;
}

#actor_cart .cart-product .productsection-info {
    width: 360px;
}

#actor_cart .cart-product .productsection-price {
    width: 190px;
}

#actor_cart .cart-product .productsection-config {
    clear: both;
    padding-top: 32px;
}

#actor_cart .cart-product .productsection-config:after {
    content: "";
    display: table;
    clear: both;
}

/* Entry-related messages */
#actor_cart .cart-product .substance-message {
    margin-bottom: 32px;
}

#actor_cart .cart-product .substance-message + .substance-message {
    margin-top: -16px;
}

/* Container for supplementary cart entries */
#actor_cart .cart-product .cart-extension {
    margin-top: 32px;
    margin-left: 30px;
    width: 718px;
    padding: 16px;
    background: rgb(245,246,246); /* spec'd but not part of Bosch system */
}

/* --- Cart entry: Control checkbox */
#actor_cart .cart-product .productsection-control input {
    bottom: 0;
}

/* --- Cart entry: Product properties */
/* Left column: Ids and image */
#actor_cart .cart-product .productsection-id > * {
    font-size: 12px;
    line-height: 18px;
}

#actor_cart .cart-product .productsection-id .product-data.cart-id {
    line-height: 22px; /* Align with checkbox on the left */
    margin-bottom: 8px;
}

#actor_cart .cart-product .productsection-id .product-data.cart-id span {
    font-weight: bold;
}

#actor_cart .cart-product .productsection-id .product-image {
    margin-top: 16px;
    margin-bottom: 16px;
}

#actor_cart .cart-product .productsection-id .product-id {
}

#actor_cart .cart-product .productsection-id .product-brand {
}

/* Middle column: Name and availability */
#actor_cart .cart-product .productsection-info .product-title {
    font-size: 18px;
    line-height: 22px;
}

#actor_cart .cart-product .productsection-info .molecule {
    margin-top: 10px;
    line-height: 18px;
}

#actor_cart .cart-product .productsection-info .molecule + .molecule {
    margin-top: 20px;
    border-top: 1px solid #dfdfe0;
    padding-top: 20px;
}

#actor_cart .cart-product .productsection-info .product-highlight {
    margin-bottom: 2px;
}

#actor_cart .cart-product .productsection-info .product-label {
    font-size: 12px;
    line-height: 16px;
    color: #008ECF;
    margin-top: 10px;
}

#actor_cart .cart-product .productsection-info .substance-pricelist {
    margin-top: 10px;
    text-align: left;
    color: #008ECF;
}

#actor_cart .cart-product .productsection-info .substance-pricelist .price-entry {
    margin-bottom: 0;
}

#actor_cart .cart-product .productsection-info .substance-pricelist .price-value {
    font-size: 12px;
}

#actor_cart .cart-product .productsection-info > .substance-item-state {
    margin-top: 32px;
}

#actor_cart .cart-product table.product-availability {
    margin-top: 16px;
    font-size: 12px;
    line-height: 18px;
}

#actor_cart .cart-product .product-availability th {
    font-weight: 400;
}

#actor_cart .cart-product .product-availability th, 
#actor_cart .cart-product .product-availability td {
    vertical-align: top;
}

#actor_cart .cart-product .product-availability th:not(:last-child), 
#actor_cart .cart-product .product-availability td:not(:last-child) {
    padding-right: 12px;
}

/* Right column: Tools and prices */
#actor_cart .cart-product .substance-toolchain {
    margin-bottom: 32px;
}

#actor_cart .cart-product .productsection-price > .substance-pricelist {
    margin-bottom: 16px;
}

#actor_cart .cart-product .price-details {
    display: inline-block;
    float: right;
}

/* --- Cart entry: Configuration input fields */
#actor_cart .productsection-config .config-id {
    display: block;
    float: left;
    margin: 0 30px 0 30px;
    width: 138px;
}

#actor_cart .productsection-config .config-id .field-container > input {
    padding: 0 8px 0 8px; /* leave more space for long product codes */
}

#actor_cart .productsection-config .flyout-host {
    width: auto;
    left: 0;
    right: auto;
}

#actor_cart .productsection-config .flyout-host * {
    white-space: nowrap;
}

#actor_cart .productsection-config .config-notes {
    display: block;
    float: left;
    width: 360px;
}

#actor_cart .productsection-config .config-amount {
    display: block;
    float: right;
    width: 110px;
}

#actor_cart .productsection-config .config-amount input {
    width: 100%;
}

/* --- Cart entry: Product extension */
#actor_cart .cart-extension .extension-head {
    font-size: 14px;
    line-height: 20px;
    font-weight: bold;
    margin-bottom: 32px;
}

#actor_cart .cart-extension .molecule:not(:last-child) {
    padding-bottom: 32px;
    border-bottom: 1px solid #dfdfe0;
    margin-bottom: 32px;
}

#actor_cart .cart-extension .molecule:after {
    content: "";
    display: table;
    clear: both;
}

#actor_cart .cart-extension .productsection-id {
    width: 105px;
    margin-right: 30px;
}

#actor_cart .cart-extension .productsection-id .substance-image {
    margin-top: 0;
}

#actor_cart .cart-extension .productsection-info {
    width: 360px;
}

#actor_cart .cart-extension .config-notes {
    margin-left: 135px;
}

#actor_cart .cart-extension .productsection-price .config-amount {
    float: right;
}

#actor_cart .cart-extension .productsection-price .config-amount input {
    width: 110px;
}

/* !-------------------------------------------- */
/* !ACTOR: Cart list - Display of "expert" entries */
/* Expressions of #actor_cart: (default), expert */
/* !-------------------------------------------- */

/* --- Display tools */
#actor_cart.expression-expert .cart-display {
    margin-bottom: 32px;
}

/* --- Container layout */
/* Outer container */
#actor_cart.expression-expert .cart-product {
    padding: 24px 0 24px 0;
}

#actor_cart.expression-expert .cart-product:first-child {
    padding-top: 0;
}

#actor_cart.expression-expert .cart-product:after {
    content: "";
    display: block;
    clear: both;
}

/* List helpers */
#actor_cart.expression-expert .cart-helper {
    font-size: 14px;
    line-height: 18px;
    padding-left: 30px;
}

#actor_cart.expression-expert .cart-product + .cart-helper {
    padding-top: 24px;
}

/* Product segment containers */
#actor_cart.expression-expert .cart-product > .cell {
    float: left;
    font-size: 12px;
    line-height: 18px;
}

#actor_cart.expression-expert .cart-product .productsection-control {
    width: 30px;
    margin-right: 30px;
}

#actor_cart.expression-expert .cart-product .productsection-data {
    width: 213px;
    margin-right: 30px;
    position: relative;
}

#actor_cart.expression-expert .cart-product.product-new .productsection-data {
    width: 273px;
}

#actor_cart.expression-expert .cart-product .productsection-tools {
    width: 255px;
    margin-right: 30px;
}

#actor_cart.expression-expert .cart-product .productsection-price {
    width: 160px;
}

/* Container for supplementary cart entries */
#actor_cart.expression-expert .cart-product .cart-extension {
    display: none;
    margin-top: 24px;
    margin-left: 0;
    width: 100%;
    padding: 16px;
}

#actor_cart.expression-expert.expression-processed .cart-product.item-active .cart-extension {
    display: block;
}

#actor_cart.expression-expert .cart-extension .extension-head {
    padding-left: 44px;
}

#actor_cart.expression-expert .cart-extension .molecule:not(:last-child) {
    padding-bottom: 24px;
    margin-bottom: 24px;
}

#actor_cart.expression-expert .cart-product .cart-extension .molecule > .cell {
    float: left;
}

#actor_cart.expression-expert .cart-product .cart-extension .productsection-control {
    width: 15px;
}

#actor_cart.expression-expert .cart-product .cart-extension .productsection-price {
    width: 136px;
}

/* --- Cart expert entry: Entry-related messages */
#actor_cart.expression-expert .cart-product .substance-message {
    margin-bottom: 16px;
    display: none;
}

#actor_cart.expression-expert.expression-processed .cart-product.item-active .substance-message {
    display: block;
}


/* --- Cart expert entry: Control checkbox and product image */
/* Checkbox with label */
#actor_cart.expression-expert .cart-product .productsection-control .field-container label {
    font-weight: bold;
    display: block;
    font-size: 12px;
}

/* --- Cart expert entry: Main data + article ID/notes */
/* Product title & expander button */
#actor_cart.expression-expert .cart-product .productsection-data > .product-title {
    display: block;
    font-weight: bold;
    position: relative;
    left: -30px;
    max-width: 100%;
    white-space: nowrap;
    text-overflow: ellipsis;
}

#actor_cart.expression-expert .cart-product .productsection-data > .product-title:before {
    top: 9px;
}

#actor_cart.expression-expert .cart-product.product-state-info .productsection-data > .product-title, 
#actor_cart.expression-expert .cart-product.product-state-ok .productsection-data > .product-title, 
#actor_cart.expression-expert .cart-product.product-state-warn .productsection-data > .product-title, 
#actor_cart.expression-expert .cart-product.product-state-crisis .productsection-data > .product-title {
    padding-left: 55px;
    background: transparent 31px 0 no-repeat;
    background-size: 16px;
}

#actor_cart.expression-expert .cart-product.product-state-info .productsection-data > .product-title {
    background-image: url("./img/icon/iconsprite_tool_info.svg");
    background-size: 35px;
    background-position: 20px -8px;
    padding-left: 55px;
}

#actor_cart.expression-expert .cart-product.product-state-ok .productsection-data > .product-title {
    background-image: url("./img/icon/icon_state_ok.svg");
}

#actor_cart.expression-expert .cart-product.product-state-warn .productsection-data > .product-title {
    background-image: url("./img/icon/icon_state_warn.svg");
}

#actor_cart.expression-expert .cart-product.product-state-crisis .productsection-data > .product-title {
    background-image: url("./img/icon/icon_state_crisis.svg");
}

#actor_cart.expression-expert .cart-product.item-active .productsection-data > .product-title {
    white-space: normal;
    max-width: none;
    padding-left: 28px;
    background: none;
}

/* Product brand */
#actor_cart.expression-expert .cart-product .productsection-data .product-brand {
    display: inline-block;
}

/* General treatment of product IDs */
#actor_cart.expression-expert .cart-product .productsection-data > .product-id {
    display: none;
}

#actor_cart.expression-expert .cart-product.item-active .productsection-data > .product-id {
    display: inline-block;
}

#actor_cart.expression-expert .cart-product.item-active .productsection-data > .product-id:before {
    content: " | ";
}

#actor_cart.expression-expert .cart-product .cart-extension .productsection-data > .product-id:not(:first-child):before {
    content: "";
}

/* Display canonical ID only in collapsed state */
#actor_cart.expression-expert .cart-product .productsection-data .product-id.id-canonical {
    display: inline-block;
}

#actor_cart.expression-expert .cart-product.item-active .productsection-data .product-id.id-canonical {
    display: none;
}

#actor_cart.expression-expert .cart-product .cart-extension .productsection-data .product-id.id-canonical {
    display: inline-block;
}

/* Display additional product data only in expanded state */
#actor_cart.expression-expert .cart-product .productsection-data .product-data {
    display: none;
}

#actor_cart.expression-expert .cart-product.item-active .productsection-data .product-data {
    display: block;
}

/* Edit fields for ID and notes */
#actor_cart.expression-expert .cart-product .productsection-data > .field-entry {
    display: none;
    margin-top: 16px;
}

#actor_cart.expression-expert .cart-product.item-active .productsection-data > .field-entry {
    display: block;
}

#actor_cart.expression-expert .cart-product.product-new .productsection-data > .field-entry {
    display: block;
    margin-top: 0;
}

#actor_cart.expression-expert .cart-product .productsection-data .flyout-host.host-suggest {
    left: 0;
    width: 498px;
}

/* Add new items in bulk */
#actor_cart.expression-expert .cart-product.product-new .productsection-data .data-action {
    margin-top: 16px;
}

/* --- Cart expert entry: Tools + promotions + availability */
/* Entry tools */
#actor_cart.expression-expert .cart-product:not(.item-active) .productsection-tools .substance-toolchain {
    float: right;
    margin-bottom: 0;
}

#actor_cart.expression-expert .cart-product .productsection-tools .substance-toolchain .toolchain-link.substance-flyout {
    display: none;
}

#actor_cart.expression-expert .cart-product.item-active .productsection-tools .substance-toolchain .toolchain-link.substance-flyout, 
#actor_cart.expression-expert .cart-product.item-active .cart-extension .productsection-tools .substance-toolchain .toolchain-link.substance-flyout {
    display: inline-block;
}

#actor_cart.expression-expert .cart-product.item-active .cart-extension .productsection-tools .substance-toolchain {
    margin-bottom: 0;
}

/* Promotion container */
#actor_cart.expression-expert .cart-product:not(.item-active) .productsection-tools .molecule {
    float: left;
}

#actor_cart.expression-expert .cart-product:not(.item-active) .productsection-tools .molecule + .molecule {
    display: none;
}

#actor_cart.expression-expert .cart-product .productsection-tools .molecule + .molecule {
    margin-top: 20px;
    border-top: 1px solid #dfdfe0;
    padding-top: 20px;
}

/* Promotion marker */
#actor_cart.expression-expert .cart-product .productsection-tools .product-highlight {
    margin-bottom: 2px;
    position: relative;
}

#actor_cart.expression-expert .cart-product:not(.item-active) .productsection-tools .product-highlight {
    margin-left: 40px;
    width: 0;
    padding: 0;
}

#actor_cart.expression-expert .cart-product:not(.item-active) .productsection-tools .product-highlight:before {
    content: "%";
    display: block;
    position: absolute;
    top: 0;
    left: -40px;
    width: 40px;
    height: 40px;
    background-color: #fff;
    border-radius: 50%;
    border: 1px solid #005691;
    color: #005691;
    line-height: 38px;
    font-size: 14px;
    font-weight: bold;
    text-align: center;
    z-index: 10;
}

#actor_cart.expression-expert.expression-processed .cart-product:not(.item-active) .productsection-tools .product-highlight.highlight-state-ok:before {
    color: #78BE20;
    border-color: #78BE20;
    background-color: #78BE20;
    color: #fff;
}

#actor_cart.expression-expert.expression-processed .cart-product:not(.item-active) .productsection-tools .product-highlight.highlight-state-close:before {
    color: #FCAF17;
    border-color: #FCAF17;
    background-color: #FCAF17;
    color: #fff;
    content: "%?";
}

#actor_cart.expression-expert .cart-product:not(.item-active) .productsection-tools .product-highlight.banner-warn, 
#actor_cart.expression-expert .cart-product:not(.item-active) .productsection-tools .product-highlight.banner-inverse, 
#actor_cart.expression-expert .cart-product:not(.item-active) .productsection-tools .product-highlight.banner-light {
    display: none;
}

#actor_cart.expression-expert .cart-product .productsection-tools .product-highlight.banner-inverse {
    background: #47AADA;
}

#actor_cart.expression-expert .cart-product.item-active .productsection-tools .product-highlight.banner-inverse {
    background: #fff;
}

/* Promotion details */
#actor_cart.expression-expert .cart-product .productsection-tools .product-label {
    font-size: 12px;
    line-height: 16px;
    color: #008ECF;
    margin-top: 10px;
    display: none;
}

#actor_cart.expression-expert .cart-product .productsection-tools .substance-pricelist {
    margin-top: 10px;
    text-align: left;
    color: #008ECF;
    display: none;
}

#actor_cart.expression-expert .cart-product .productsection-tools .substance-pricelist .price-entry {
    margin-bottom: 0;
}

#actor_cart.expression-expert .cart-product .productsection-tools .substance-pricelist .price-value {
    font-size: 12px;
}

#actor_cart.expression-expert .cart-product .productsection-tools .molecule .link-action {
    display: none;
}

#actor_cart.expression-expert .cart-product.item-active .productsection-tools .product-label, 
#actor_cart.expression-expert .cart-product.item-active .productsection-tools .substance-pricelist, 
#actor_cart.expression-expert .cart-product.item-active .productsection-tools .molecule .link-action {
    display: block;
}

/* Availability information */
#actor_cart.expression-expert .cart-product .productsection-tools .molecule + .product-availability {
    margin-top: 16px;
}

#actor_cart.expression-expert .cart-product:not(.item-active) .productsection-tools .product-availability {
    width: 40px;
    padding: 0 0 0 40px;
    height: 40px;
    overflow: hidden;
    margin: 0;
	background: transparent url("./img/icon/iconsprite_availability.svg") 0 0 no-repeat;
}

#actor_cart.expression-expert .cart-product:not(.item-active) .productsection-tools .product-availability.state-ok {
    display: none;
}

#actor_cart.expression-expert .cart-product:not(.item-active) .productsection-tools .product-availability.state-mto, 
#actor_cart.expression-expert .cart-product:not(.item-active) .productsection-tools .product-availability.state-prelaunch, 
#actor_cart.expression-expert .cart-product:not(.item-active) .productsection-tools .product-availability.state-warn {
    background-position: 0 -80px;
}

#actor_cart.expression-expert .cart-product:not(.item-active) .productsection-tools .product-availability.state-crisis {
    background-position: 0 -160px;
}

#actor_cart.expression-expert .cart-product:not(.item-active) .productsection-tools .product-availability.state-info {
    background-position: 0 -240px;
}

#actor_cart.expression-expert .cart-product:not(.item-active) .productsection-tools .product-availability:before {
    display: none;
}

#actor_cart.expression-expert .cart-product table.product-availability {
    display: none;
    text-align: left;
}

#actor_cart.expression-expert.expression-processed .cart-product.item-active table.product-availability {
    display: table;
}

#actor_cart.expression-expert .cart-product table.product-availability td:first-child {
    white-space: nowrap;
}

/* --- Cart expert entry: Prices */
#actor_cart.expression-expert .cart-product .productsection-price > .substance-pricelist {
    margin-bottom: 0;
}

#actor_cart.expression-expert .cart-product .productsection-price > .substance-pricelist .price-name, 
#actor_cart.expression-expert .cart-product .productsection-price > .substance-pricelist .entry-detail {
    display: none;
}

/* This makes sure that the embedded <button> (which has display: inline-block) reacts properly to :hover events */
#actor_cart.expression-expert .cart-product .productsection-price > .substance-pricelist .price-value {
    display: block;
}

/* Rearranging position of flyout for price details/edit  */
#actor_cart.expression-expert .cart-product .productsection-price .flyout-controller {
    font-weight: bold;
}

#actor_cart.expression-expert .cart-product .productsection-price .substance-flyout.flyout-active:before {
    bottom: -16px;
}

#actor_cart.expression-expert .cart-product .productsection-price .flyout-host {
    bottom: auto;
    top: calc(100% + 8px);
    right: 0;
    width: 362px;
    padding: 32px;
}

/* Show all price details for expanded cart entries */
#actor_cart.expression-expert .cart-product.item-active .productsection-price > .substance-pricelist .price-name, 
#actor_cart.expression-expert .cart-product.item-active .productsection-price > .substance-pricelist .entry-detail {
    margin-right: 0;
    display: block;
}

#actor_cart.expression-expert .cart-product.item-active .productsection-price > .substance-pricelist .price-entry:not(:last-child) {
    border-bottom: 1px solid #dfdfe0;
    padding-bottom: 5px;
}

#actor_cart.expression-expert .cart-product.item-active .productsection-price > .substance-pricelist .value-unit {
    display: none;
}

/* Special cart entry for adding new products */
#actor_cart.expression-expert .cart-product.product-new .productsection-price .field-entry {
    display: inline-block;
    vertical-align: top;
}

#actor_cart.expression-expert .cart-product.product-new .productsection-price .tool-action {
    float: right;
}


/* !-------------------------------------------- */
/* !ACTOR: Cart summary */
/* Expressions: (default), processed, check-backorder, expert, pinned, pinned-footer */
/* !-------------------------------------------- */

/* --- Pinned actor */
#actor_cart_summary.expression-pinned, 
#actor_cart_summary.expression-pinned-footer {
    position: fixed;
    bottom: 16px;
    left: calc(50% + 242px);
    transition: bottom 0.5s ease;
}

#actor_cart_summary.expression-pinned-footer {
    bottom: 196px;
    transition: bottom 0.5s ease;
}

 /* Switch off pinning for too narrow viewports because we can't simply nail the vertical but keep scrolling horizontally */
 @media only screen and (max-width: 1199px) {
    #actor_cart_summary.expression-pinned, 
    #actor_cart_summary.expression-pinned-footer {
        position: static;
    }
}

/* --- General layout */
#actor_cart_summary {
    background: rgb(245,246,246); /* spec'd but not part of Bosch system */
    padding: 16px;
}

#actor_cart_summary .cart-summary {
    padding-bottom: 20px;
}

#actor_cart_summary.expression-expert .cart-summary {
    padding-bottom: 8px;
}

#actor_cart_summary .cart-shipping {
    padding: 32px 0 32px 0;
    border-top: 1px solid #dfdfe0;
}

#actor_cart_summary.expression-expert .cart-shipping {
    padding-bottom: 0;
}

#actor_cart_summary .cart-total {
    padding-top: 32px;
    border-top: 1px solid #dfdfe0;
}

/* --- Master submit buttons */
/* Containers */
#actor_cart_summary .cart-summary .summary-action {
    position: relative;
    margin-bottom: 16px;
}

#actor_cart_summary .cart-total .summary-action {
    position: relative;
    margin-top: 32px;
}

/* Single button in dirty state */
#actor_cart_summary .summary-action .tool-action {
    display: none;
}

#actor_cart_summary .summary-action .primary-action.action-level-master, 
#actor_cart_summary .summary-action .primary-action.action-level-solid {
    width: 100%;
}

/* Two buttons in processed state */
#actor_cart_summary.expression-processed:not(.expression-expert) .summary-action {
    padding-left: 56px;
    margin-bottom: 32px;
}

#actor_cart_summary.expression-processed .summary-action .tool-action {
    display: inline-block;
    position: absolute;
    left: 0;
    top: 0;
}

/* Combined with highlighted promotion code field (only used for ExpertCart) */
#actor_cart_summary .cart-summary .summary-action.summary-promotion {
    margin: -16px -16px 0 -16px;
    padding: 16px 16px 16px 16px;
    background: #DFDFE0;
}

#actor_cart_summary .cart-summary .summary-action.summary-promotion .field-entry {
    margin-top: 16px;
}

#actor_cart_summary .cart-total .summary-action.summary-promotion {
    margin: 0 -16px -16px -16px;
    padding: 16px 16px 16px 16px;
    background: #DFDFE0;
}

#actor_cart_summary .cart-total .summary-action.summary-promotion .field-entry {
    margin-bottom: 24px;
}


/* --- Tagging with general order properties, e.g PO number and promotion code */
#actor_cart_summary .summary-tagging {
    margin-bottom: 24px;
}

#actor_cart_summary .summary-tagging + .summary-tagging {
    padding-top: 8px;
    margin-top: 32px;
    border-top: 1px solid #dfdfe0;
}

#actor_cart_summary .summary-tagging .field-entry + .field-entry {
    margin-top: 16px;
}

#actor_cart_summary.expression-processed:not(.expression-expert) .summary-tagging {
    display: none;
}

/* Compiled order tags (not editable anymore) */
#actor_cart_summary .tagging-compilation {
    display: none;
    font-size: 14px;
    line-height: 20px;
}

#actor_cart_summary.expression-processed .tagging-compilation {
    display: block;
    margin-bottom: 24px;
}

#actor_cart_summary .tagging-compilation dt {
    font-weight: bold;
    margin-top: 24px;
}

#actor_cart_summary .tagging-compilation dt:first-child {
    margin-top: 0;
}

/* Resulting PO number as part of pricelist */
#actor_cart_summary .substance-pricelist .entry-info {
    display: none;
}

#actor_cart_summary.expression-processed .substance-pricelist .entry-info {
    display: block;
}

/* --- Shipping date/method/destination */
/* Containers */
#actor_cart_summary .cart-shipping .molecule {
    margin-bottom: 16px;
}

#actor_cart_summary.expression-processed .cart-shipping .molecule {
    display: none;
}

#actor_cart_summary.expression-expert .cart-shipping .molecule {
    display: block;
}

#actor_cart_summary.expression-processed .cart-shipping .shipping-cost {
    display: block;
}

/* Statement about Express delivery */
#actor_cart_summary .shipping-info {
    font-size: 14px;
    line-height: 20px;
}

/* Shipping destination */
#actor_cart_summary .shipping-destination {
    padding: 16px;
    border: 1px solid #dfdfe0;
}

#actor_cart_summary .shipping-destination .substance-customselect .flyout-host, 
#actor_cart_summary.expression-pinned.expression-pinned-footer .shipping-destination .substance-customselect .flyout-host {
    max-height: calc(100vh - 220px);
}

#actor_cart_summary.expression-pinned .shipping-destination .substance-customselect .flyout-host {
    max-height: calc(100vh - 310px);
}

#actor_cart_summary .shipping-destination .destination-chosen {
    font-size: 12px;
    line-height: 18px;
    margin: 16px 0 24px 0;
}

#actor_cart_summary .shipping-destination .destination-chosen .address-default {
    margin-bottom: 8px;
}

#actor_cart_summary .shipping-destination .destination-chosen .address-title {
    font-weight: bold;
}

#actor_cart_summary .shipping-destination .destination-chosen .address-id {
    margin-top: 8px;
    color: #525F6B;
}

#actor_cart_summary .shipping-destination > .data-action {
    font-size: 14px;
    line-height: 20px;
}

/* Compilation of shipping instructions for processed orders (not editable anymore) */
#actor_cart_summary .shipping-compilation {
    display: none;
    font-size: 14px;
    line-height: 20px;
}

#actor_cart_summary.expression-processed .cart-shipping .shipping-compilation {
    display: block;
    margin-bottom: 24px;
}

#actor_cart_summary .shipping-compilation dt {
    font-weight: bold;
    margin-top: 24px;
}

#actor_cart_summary .shipping-compilation dt:first-child {
    margin-top: 0;
}

/* Shipping instructions */
#actor_cart_summary .shipping-modifier {
    margin-bottom: 24px;
    font-size: 14px;
    line-height: 20px;
}

#actor_cart_summary .modifier-instructions .field-container {
    display: none;
}

#actor_cart_summary .modifier-instructions.item-active .field-container {
    display: block;
}

/* --- Shipping options */
/* Cost */
#actor_cart_summary .shipping-cost {
    margin-bottom: 8px;
}

/* Notification */
#actor_cart_summary .shipping-notification {
    font-size: 14px;
    line-height: 20px;
    margin-bottom: 14px;
}

/* Backorders */
#actor_cart_summary .shipping-backorder {
    font-size: 14px;
    line-height: 20px;
    padding: 16px;
    border: 1px solid #dfdfe0;
}

#actor_cart_summary .shipping-backorder p {
    font-size: 12px;
    line-height: 18px;
}

#actor_cart_summary .shipping-backorder .backorder-value {
    display: none;
}

#actor_cart_summary .shipping-backorder .field-container {
    margin-top: 12px;
}

/* Backorders: Processed cart */
#actor_cart_summary.expression-processed .cart-shipping .shipping-backorder {
    display: block;
}

#actor_cart_summary.expression-processed .shipping-backorder .backorder-value {
    display: inline;
}

#actor_cart_summary.expression-processed .shipping-backorder .field-container {
    display: none;
}

/* Backorders: Processed cart but still needs backorder affirmation */
#actor_cart_summary.expression-processed.expression-check-backorder .shipping-backorder .backorder-value {
    display: none;
}

#actor_cart_summary.expression-processed.expression-check-backorder .shipping-backorder .field-container {
    display: block;
}

/* --- Cart total */
/* Price-related message */
#actor_cart_summary .total-message {
    font-size: 12px;
    line-height: 18px;
    margin-bottom: 20px;
}

#actor_cart_summary .summary-action .total-message {
    margin-bottom: 0;
}


#actor_cart_summary.expression-expert .total-message {
    margin-top: 20px;
}

/* Prominent warning about preliminary price calculation */
#actor_cart_summary.expression-expert .total-message.message-price {
    background: rgba(252,175,23,0.2) url("./img/icon/icon_state_warn.svg") 16px 10px no-repeat;
    background-size: 20px;
    padding: 8px 16px 8px 46px;
}

#actor_cart_summary.expression-processed:not(.expression-expert) .total-message {
    display: none;
}

/* Display of processed promotion code */
#actor_cart_summary .total-promotion {
    display: none;
    font-size: 14px;
    line-height: 20px;
    margin-top: 16px;
    margin-bottom: 32px;
    text-align: right;
}

#actor_cart_summary.expression-processed .total-promotion {
    display: block;
}

/* !-------------------------------------------- */
/* !ACTOR: Order checkout */
/* !-------------------------------------------- */

#actor_checkout {
    font-size: 14px;
    line-height: 20px;
}

#actor_checkout .checkout-summary {
    background: #EFEFF0;
    padding: 16px;
    margin-bottom: 16px;
}

#actor_checkout .checkout-assistance {
    background: #EFEFF0;
    padding: 16px;
}

/* --- Summary container */
#actor_checkout h2 {
    font-weight: 200;
    font-size: 24px;
    line-height: 28px;
    margin-bottom: 24px;
    -webkit-hyphens: auto;
    -ms-hyphens: auto;
    hyphens: auto;
}

#actor_checkout .summary-customer, 
#actor_checkout .summary-shipping {
    padding-bottom: 24px;
    border-bottom: 1px solid #dfdfe0;
    margin-bottom: 24px;
}

#actor_checkout .cell dt {
    font-weight: bold;
    margin-top: 24px;
}

#actor_checkout .cell dt:first-child {
    margin-top: 0;
}

#actor_checkout .summary-promotion {
    margin-top: 24px;
    text-align: right;
}


/* --- DEPRECATED: Assistance container */
#actor_checkout .checkout-assistance h3 {
    font-weight: 200;
    font-size: 24px;
    line-height: 28px;
    margin-bottom: 16px;
}

#actor_checkout .checkout-assistance .assistance-message {
    padding-top: calc(56.25% + 24px);
    background: transparent url("./img/pics/photo_checkout_assistance@2x.jpg") center top no-repeat;
    background-size: 100%;
}

#actor_checkout .checkout-assistance .link-action {
    margin-top: 16px;
}

/* !-------------------------------------------- */
/* !DEPRECATED ACTOR: Media list */
/* !-------------------------------------------- */

/* --- Confirmation text for order */
#actor_medialist .medialist-head {
    padding-left: 190px;
    margin-bottom: 64px;
    background: transparent url("./img/pics/photo_checkout_thanks@2x.jpg") left top no-repeat;
    background-size: 160px;
}

#actor_medialist .medialist-head h2 {
    font-weight: 200;
    font-size: 24px;
    line-height: 28px;
    margin-bottom: 16px;
}

#actor_medialist .medialist-head .head-message {
    font-size: 14px;
    line-height: 20px;
    margin-bottom: 14px;
}

#actor_medialist .medialist-head .data-action {
    font-size: 14px;
    line-height: 20px;
}

/* --- Matrix header */
#actor_medialist .medialist-control {
    font-size: 14px;
    line-height: 20px;
    padding-bottom: 16px;
    border-bottom: 1px solid #dfdfe0;
    margin-bottom: 32px;
}

#actor_medialist .medialist-control h3 {
    font-weight: 200;
    font-size: 24px;
    line-height: 28px;
    float: left;
}

#actor_medialist .medialist-control .control-options {
    float: right;
}

#actor_medialist .medialist-control:after {
    content: "";
    display: table;
    clear: both;
}

/* --- Matrix with download items */
#actor_medialist .medialist-grid .cell {
    float: left;
    width: calc((100% / 3) - (32px * 2 / 3));
    margin-right: 32px;
    margin-bottom: 32px;
    font-size: 14px;
    line-height: 20px;
}

#actor_medialist .medialist-grid .cell:nth-child(3n) {
    margin-right: 0;
}

#actor_medialist .medialist-grid .asset-thumb {
    margin-bottom: 16px;
}

#actor_medialist .medialist-grid .asset-title {
    font-size: 20px;
    line-height: 24px;
    color: #005691;
    margin-bottom: 24px;
}

#actor_medialist .medialist-grid .asset-resolution {
    margin-bottom: 24px;
}

#actor_medialist .medialist-grid .asset-resolution select {
    border: 1px solid #e6e6e6;
}

#actor_medialist .medialist-grid .cell .data-action + .data-action {
    margin-top: 24px;
}

/* !-------------------------------------------- */
/* !ACTOR: Order Confirmation */
/* !-------------------------------------------- */

/* --- Standard message block */
#actor_order_confirm .confirm-block {
    padding: 0 0 0 230px;
    margin-bottom: 32px;
    background: transparent left top no-repeat;
    background-size: 200px;
}

#actor_order_confirm .confirm-block h2 {
    font-weight: 200;
    font-size: 24px;
    line-height: 28px;
    margin-bottom: 16px;
}

#actor_order_confirm .confirm-block .block-message {
    font-size: 14px;
    line-height: 20px;
    margin-bottom: 14px;
}

#actor_order_confirm .confirm-block .substance-message {
    margin-bottom: 16px;
}

/* --- Order confirmation */
#actor_order_confirm .confirm-block.block-order {
    background-image: url("./img/pics/photo_checkout_thanks@2x.jpg");
}

#actor_order_confirm .block-order .substance-toolchain {
    text-align: left;
    height: auto;
}

#actor_order_confirm .block-order .toolchain-link {
    display: block;
    font-size: 14px;
    line-height: 20px;
    margin: 0 0 16px 0;
}

#actor_order_confirm .block-order .toolchain-link:last-child {
    margin-bottom: 0;
}

#actor_order_confirm .block-order .toolchain-link .substance-message {
    margin-bottom: 16px;
}

/* --- Assistance offer */
#actor_order_confirm .confirm-block.block-assistance {
    background-image: url("./img/pics/photo_checkout_assistance@2x.jpg");
    background-position: left 32px;
    min-height: 160px;
    padding-top: 32px;
    border-top: 1px solid #dfdfe0;
}

/* !-------------------------------------------- */
/* !ACTOR: Order history header */
/* !-------------------------------------------- */

/* --- Page title */
#actor_history_head .history-title:after {
    content: "";
    display: table;
    clear: both;
}

#actor_history_head .history-title h1 {
    float: left;
    font-size: 28px;
    line-height: 32px;
    font-weight: 200;
}

#actor_history_head .history-title .substance-pageshare {
    float: right;
}

/* --- Filter blocks */
#actor_history_head .history-listcontrol .substance-form {
    float: left;
    text-align: right;
}

#actor_history_head .history-listcontrol .listcontrol-search {
    width: 360px;
    margin-right: 50px;
}

#actor_history_head .history-listcontrol .listcontrol-filter {
    width: 730px;
}

#actor_history_head .history-listcontrol .substance-form legend {
    font-size: 12px;
    font-weight: bold;
    margin-left: 15px;
    margin-bottom: 12px;
    text-align: left;
}

/* --- Filter fields */
#actor_history_head .history-listcontrol .substance-fieldlist {
    display: table;
    width: 100%;
}

#actor_history_head .history-listcontrol .substance-fieldlist:after {
    content: "";
    display: table;
    clear: both;
}

/* Extended filters */
#actor_history_head .history-listcontrol .substance-fieldlist.fieldlist-extended {
    display: none;
}

#actor_history_head .history-listcontrol .substance-form.item-active .substance-fieldlist.fieldlist-extended {
    display: table;
}

/* Field row */
#actor_history_head .substance-form .field-entry {
    display: table-cell;
    vertical-align: top;
    padding-right: 12px;
}

#actor_history_head .substance-form .field-entry:last-child {
    padding-right: 0;
}

#actor_history_head .substance-form .field-entry:not(:last-child):after {
    right: 20px;
}

/* Filter controls */
#actor_history_head .history-listcontrol .substance-form .primary-action {
    margin-top: 12px;
}

#actor_history_head .history-listcontrol .substance-form > .data-action {
    font-size: 12px;
    line-height: 14px;
    margin-top: 12px;
    margin-left: 15px;
    float: left;
}

/* !-------------------------------------------- */
/* !ACTOR: Order table */
/* !-------------------------------------------- */

/* --- List title */
#actor_orderlist .orderlist-title {
    margin-bottom: 32px;
}

#actor_orderlist .orderlist-title h2 {
    font-size: 18px;
    font-weight: 200;
    display: inline-block;
}

#actor_orderlist .orderlist-title .data-action {
    float: right;
}

/* --- List of orders */
#actor_orderlist table .data-action, 
#actor_orderlist table .link-action {
    font-size: 14px;
    line-height: 20px;
    white-space: nowrap;
}

#actor_orderlist table .flyout-host .data-action, 
#actor_orderlist table .flyout-host .link-action {
    white-space: normal;
}

#actor_orderlist table .order-entry.item-active {
    border-bottom: none;
}

#actor_orderlist table .order-entry > td:first-child p {
    padding-left: 28px;
}

#actor_orderlist table .order-entry .data-action.icon-doc {
    margin-bottom: 8px;
}

/* Show more buttons */
#actor_orderlist table + .primary-action {
    display: table;
    border-collapse: separate;
    margin: 24px auto 24px auto;
}

/* --- List of deliveries within an order */
#actor_orderlist .orderlist-deliveries {
    display: none;
    border-bottom: none;
}

#actor_orderlist .order-entry.item-active + .orderlist-deliveries {
    display: table-row;
}

/* Wrapper cell for list of deliveries */
#actor_orderlist .orderlist-deliveries > td {
    background: #EFEFF0;
    padding: 0 8px 0 28px;
}

#actor_orderlist .orderlist-deliveries table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
}

#actor_orderlist .orderlist-deliveries tbody tr:first-child {
    border-top: none;
}

/* Cells for delivery entries */
#actor_orderlist .orderlist-deliveries .delivery-entry > td {
    padding: 10px 48px 10px 0;
    vertical-align: middle;
    white-space: nowrap;
}

#actor_orderlist .orderlist-deliveries .delivery-entry > .delivery-id {
    width: 228px;
}

#actor_orderlist .orderlist-deliveries .delivery-entry > .delivery-state {
    width: 288px;
}

#actor_orderlist .orderlist-deliveries .delivery-entry > .delivery-tracking {
    width: 208px;
    white-space: normal;
}

#actor_orderlist .orderlist-deliveries .delivery-entry > .delivery-tracking em {
    word-break: break-all;
    -ms-word-break: break-all;
}

#actor_orderlist .orderlist-deliveries .delivery-entry > .delivery-carrier {
    width: 220px;
    padding-right: 16px;
    white-space: normal;
}

#actor_orderlist .orderlist-deliveries .delivery-entry .substance-item-state, 
#actor_orderlist .orderlist-deliveries .delivery-entry .substance-item-state + p {
    display: inline-block;
    margin-right: 16px;
}

/* --- List of products within a delivery */
#actor_orderlist tr .orderlist-products {
    display: none;
}

#actor_orderlist .delivery-entry.item-active + .orderlist-products {
    display: table-row;
}

/* Wrapper cell for list of products */
#actor_orderlist tr .orderlist-products > td {
    padding: 0 0 0 28px;
}

#actor_orderlist tr .orderlist-products table {
    width: 100%;
}

/* Cells for product entries */
#actor_orderlist tr .orderlist-products .product-entry td {
    padding: 10px 48px 10px 0;
    vertical-align: middle;
}

#actor_orderlist tr .orderlist-products .product-entry .product-order {
    font-weight: bold;
    width: 50px;
    padding-right: 16px;
}

#actor_orderlist tr .orderlist-products .product-entry .product-id {
    width: 115px;
}

#actor_orderlist tr .orderlist-products .product-entry .product-amount {
    width: 80px;
}

#actor_orderlist tr .orderlist-products .product-entry .product-title {
    width: 200px;
}

#actor_orderlist tr .orderlist-products .product-entry .product-price {
    width: 90px;
}

#actor_orderlist tr .orderlist-products .product-entry .product-delivery {
    width: 169px;
}

#actor_orderlist tr .orderlist-products .product-entry .product-tools {
    padding-right: 16px;
    width: 110px;
}

#actor_orderlist tr .orderlist-products .product-entry .link-action {
    font-size: inherit;
}


/* !-------------------------------------------- */
/* !ACTOR: Invoice table */
/* !-------------------------------------------- */

#actor_invoicelist .invoicelist-title {
    margin-bottom: 32px;
}

#actor_invoicelist .invoicelist-title h2 {
    font-size: 18px;
    font-weight: 200;
    display: inline-block;
}

#actor_invoicelist table .data-action {
    font-size: 14px;
}

/* Show more buttons */
#actor_invoicelist table + .primary-action {
    display: table;
    border-collapse: separate;
    margin: 24px auto 24px auto;
}

/* !-------------------------------------------- */
/* !ACTOR: Deliveries table */
/* !-------------------------------------------- */

/* --- List title */
#actor_deliverylist .deliverylist-title {
    margin-bottom: 32px;
}

#actor_deliverylist .deliverylist-title h2 {
    font-size: 18px;
    font-weight: 200;
    display: inline-block;
}

#actor_deliverylist .deliverylist-title .data-action {
    float: right;
}

/* --- List of deliveries */
#actor_deliverylist table .data-action {
    font-size: 14px;
}

#actor_deliverylist .delivery-entry.item-active {
    border-bottom: none;
}

/* Show more buttons */
#actor_deliverylist table + .primary-action {
    display: table;
    border-collapse: separate;
    margin: 24px auto 24px auto;
}

/* --- List of products within a delivery */
#actor_deliverylist .orderlist-products {
    display: none;
    border-bottom: none;
}

#actor_deliverylist .delivery-entry.item-active + .orderlist-products {
    display: table-row;
}

/* Wrapper cell for list of products */
#actor_deliverylist .orderlist-products > td {
    background: #EFEFF0;
    padding: 0 8px 0 28px;
}

#actor_deliverylist .orderlist-products table {
    width: 100%;
    border-collapse: collapse;
}

#actor_deliverylist .orderlist-products tbody tr:first-child {
    border-top: none;
}

/* Cells for product entries */
#actor_deliverylist .orderlist-products table {
    table-layout: fixed;
}

#actor_deliverylist .orderlist-products .product-entry td {
    padding: 10px 48px 10px 0;
    vertical-align: middle;
}

#actor_deliverylist .orderlist-products .product-entry .product-order {
    font-weight: bold;
    width: 50px;
    padding-right: 16px;
}

#actor_deliverylist .orderlist-products .product-entry .product-id {
    width: 115px;
}

#actor_deliverylist .orderlist-products .product-entry .product-amount {
    width: 80px;
}

#actor_deliverylist .orderlist-products .product-entry .product-title {
    width: 213px;
}

#actor_deliverylist .orderlist-products .product-entry .product-price {
    width: 90px;
}

#actor_deliverylist .orderlist-products .product-entry .product-delivery {
    width: 173px;
}

#actor_deliverylist .orderlist-products .product-entry .product-tools {
    padding-right: 16px;
    width: 110px;
}

#actor_deliverylist .orderlist-products .product-entry .link-action {
    font-size: inherit;
}


/* !-------------------------------------------- */
/* !ACTOR: MyAccount Overview Header */
/* !-------------------------------------------- */

#actor_account_head {
    margin-bottom: 64px;
}

/* !-------------------------------------------- */
/* !ACTOR: MyAccount Overview Dashboard */
/* !-------------------------------------------- */

/* --- Dashboard blocks */
#actor_account_overview > .cell {
    font-weight: 400;
    font-size: 14px;
    line-height: 20px;
    width: calc(50% - (96px / 2));
    float: left;
    margin-bottom: 64px;
    margin-right: 96px;
}

#actor_account_overview > .cell:nth-child(2n) {
    margin-right: 0;
}

/* --- Block header */
#actor_account_overview .overview-head {
    display: table;
    width: 100%;
    padding-bottom: 16px;
    border-bottom: 1px solid #dfdfe0;
    margin-bottom: 16px;
}

#actor_account_overview .overview-head h2 {
    font-weight: 200;
    font-size: 24px;
    line-height: 28px;
    display: table-cell;
    vertical-align: bottom;
    width: 99%; /* push it to maximum width */
}

#actor_account_overview .overview-head .link-action {
    font-size: 12px;
    line-height: 20px;
    display: table-cell;
    vertical-align: bottom;
    text-align: right;
    white-space: nowrap;
}

/* --- Update */
#actor_account_overview .overview-head + .overview-update {
    font-size: 12px;
    line-height: 20px;
    color: #525F6B;
    margin-bottom: 16px;
}

/* --- Block: Notifications */
#actor_account_overview .overview-notifications .molecule {
    margin-bottom: 32px;
}

/* --- Block: Quick links */
#actor_account_overview .overview-quicklinks .molecule {
    display: inline-block;
    margin: 0 8px 10px 0;
}

#actor_account_overview .overview-quicklinks .data-action {
    font-size: 14px;
    line-height: 20px;
}

#actor_account_overview .overview-quicklinks .link-suggestions {
    font-size: 12px;
    line-height: 20px;
    margin-top: 16px;
    border-top: 1px solid #dfdfe0;
    padding-top: 16px;
}

#actor_account_overview .overview-quicklinks .link-suggestions .quick-action {
    margin: 0 8px 8px 0;
}

/* --- Block: Orders */
#actor_account_overview .overview-orders .order-shortcut {
    font-size: 14px;
    line-height: 20px;
    padding-bottom: 32px;
    border-bottom: 1px solid #dfdfe0;
    margin-bottom: 32px;
}

#actor_account_overview .overview-orders .order-shortcut .link-action {
    display: inline;
}

/* --- Block: Product lists */
#actor_account_overview .overview-lists .molecule {
    padding-bottom: 12px;
    border-bottom: 1px solid #dfdfe0;
    margin-bottom: 24px;
}

#actor_account_overview .overview-lists .molecule > .link-action {
    display: block;
    margin-bottom: 12px;
}

#actor_account_overview .overview-lists .molecule:after {
    content: "";
    display: table;
    clear: both;
}

#actor_account_overview .overview-lists .list-thumbnails {
    float: left;
    width: 218px;
}

#actor_account_overview .overview-lists .list-thumbnails .substance-image {
    width: 30%;
    display: inline-block;
}

#actor_account_overview .overview-lists .substance-toolchain {
    float: left;
    width: 157px;
}

#actor_account_overview .overview-lists .list-thumbnails .atom {
    padding: 4px;
    float: left;
}

/* --- Block: Payment */
#actor_account_overview .overview-payment {
    font-size: 14px;
    line-height: 20px;
}

#actor_account_overview .overview-payment h3 {
    font-weight: bold;
    margin-bottom: 16px;
}

#actor_account_overview .overview-payment .payment-balance {
    margin-bottom: 32px;
}

#actor_account_overview .overview-payment .payment-balance:after {
    content: "";
    display: table;
    clear: both;
}

#actor_account_overview .payment-balance dt {
    float: left;
    clear: both;
}

#actor_account_overview .payment-balance dd {
    float: right;
}

#actor_account_overview .payment-balance.balance-negative dd {
    color: #E20015;
}


/* --- Block: Reporting */
#actor_account_overview .overview-reporting h3 {
}

#actor_account_overview .overview-reporting img {
    width: 100%;
}

#actor_account_overview .overview-reporting .reporting-key {
    width: 50%;
    float: left;
}

#actor_account_overview .overview-reporting .key-past {
}


/* !-------------------------------------------- */
/* !ACTOR: MyAccount header notifications */
/* !-------------------------------------------- */

#actor_notifications_head h1 {
    margin-bottom: 24px;
}

/* !-------------------------------------------- */
/* !ACTOR: MyAccount List of recent notification */
/* !-------------------------------------------- */

/* --- List headers with controls */
#actor_notificationlist .list-control {
    font-size: 14px;
    line-height: 20px;
    position: relative;
}

#actor_notificationlist .list-control:after {
    content: "";
    display: block;
    clear: both;
}

#actor_notificationlist .list-control h2 {
    font-size: 24px;
    font-weight: 200;
    line-height: 28px;
    margin-bottom: 8px;
    float: left;
}

#actor_notificationlist .list-control p {
    float: left;
}

#actor_notificationlist .list-control .data-action {
    float: right;
    margin-left: 16px;
    line-height: 20px;
}

/* --- List of notifications */
#actor_notificationlist .substance-tab-bar {
    margin-top: 32px;
    margin-bottom: 16px;
}

#actor_notificationlist .substance-notification {
    padding: 24px 16px 24px 30px;
    border-bottom: 1px solid #dfdfe0;
}

#actor_notificationlist .substance-notification:before {
    top: 28px;
}

#actor_notificationlist .substance-notification.notification-pinned:after {
    right: 16px;
    top: 24px;
}

#actor_notificationlist .primary-action {
    display: table;
    margin: 32px auto 48px auto;
}

/* !-------------------------------------------- */
/* !ACTOR: MyAccount Notification preferences */
/* !-------------------------------------------- */

/* --- General containers */
#actor_notif_pref .cell {
    margin-top: 48px;
    font-size: 14px;
    line-height: 20px;
}

#actor_notif_pref .cell h2 {
    font-size: 20px;
    font-weight: 200;
    line-height: 24px;
    padding-bottom: 16px;
    border-bottom: 1px solid #dfdfe0;
}

/* --- E-mail settings */
/* Messages */
#actor_notif_pref .pref-email .substance-message {
    margin-top: 16px;
}

/* OLD VERSION: Terms & conditions */
#actor_notif_pref .pref-email .email-conditions {
    margin-top: 16px;
    padding: 16px;
    border: 1px solid #dfdfe0;
}

#actor_notif_pref .pref-email .email-conditions .conditions-text {
    margin-top: 16px;
    font-size: 14px;
    line-height: 20px;
    display: none;
}

#actor_notif_pref .pref-email .email-conditions.item-active .conditions-text {
    display: block;
}

#actor_notif_pref .pref-email .email-conditions .toolchain-link {
    margin-left: 48px;
}

#actor_notif_pref .pref-email .email-conditions .field-entry input {
    margin-top: 8px;
}

/* OLD VERSION: Actual settings/verification */
#actor_notif_pref .pref-email .substance-fieldlist {
    margin-top: 16px;
    background: rgb(245, 246, 246); /* spec'd but not part of Bosch system */
    padding: 16px;
}

#actor_notif_pref .pref-email .substance-fieldlist .field-entry {
    float: left;
    margin-right: 64px;
}

#actor_notif_pref .pref-email .substance-fieldlist .field-entry.entry-unlabeled {
    width: 300px;
}

#actor_notif_pref .pref-email .substance-fieldlist .field-entry:last-child {
    float: right;
    margin-right: 0;
}

#actor_notif_pref .pref-email .substance-fieldlist .entry-title {
    font-weight: bold;
    margin-bottom: 16px;
}

#actor_notif_pref .pref-email .substance-fieldlist .field-entry.entry-radio .field-container {
    white-space: nowrap;
    margin-bottom: 4px;
}

#actor_notif_pref .pref-email .substance-fieldlist .primary-action {
    margin-top: 36px;
    float: right;
}

#actor_notif_pref .pref-email .substance-fieldlist .field-entry.entry-unlabeled .field-comment {
    padding-left: 0;
}

/* NEW: Consent and email address */
#actor_notif_pref .pref-email .email-confirmation {
    margin-top: 16px;
    background: rgb(245, 246, 246); /* spec'd but not part of Bosch system */
    padding: 16px 16px 72px 16px;
    position: relative;
}

#actor_notif_pref .pref-email .email-confirmation h3 {
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 16px;
}

#actor_notif_pref .pref-email .confirmation-consent {
    float: left;
    width: calc(50% - 24px);
    margin-right: 24px;
}

#actor_notif_pref .pref-email .confirmation-address {
    float: left;
    width: calc(50% - 24px);
    margin-left: 24px;
}

#actor_notif_pref .pref-email .email-confirmation .consent-comment, 
#actor_notif_pref .pref-email .email-confirmation .address-comment {
    font-size: 14px;
    line-height: 20px;
}

#actor_notif_pref .pref-email .email-confirmation .address-container {
    margin-bottom: 16px;
}

#actor_notif_pref .pref-email .email-confirmation .primary-action {
    position: absolute;
    left: 16px;
    bottom: 16px;
}

#actor_notif_pref .pref-email .email-confirmation .confirmation-address .primary-action {
    left: calc(24px + 50%);
}

/* --- Event lists with checkboxes */
#actor_notif_pref .pref-events .molecule {
    padding: 16px 0 16px 0;
    border-bottom: 1px solid #dfdfe0;
}

#actor_notif_pref .pref-events .molecule:after {
    content: "";
    display: block;
    clear: both;
}

#actor_notif_pref .pref-events .event-title {
    float: left;
}

#actor_notif_pref .pref-events .field-entry {
    float: right;
}

#actor_notif_pref .pref-events .field-entry ~ .field-entry {
    margin-right: 64px;
}

#actor_notif_pref .pref-events .substance-fieldlist + * {
    margin-top: 32px;
    margin-bottom: 64px;
}

/* !-------------------------------------------- */
/* !ACTOR: MyAccount header user list */
/* !-------------------------------------------- */

#actor_userlist_head .head-control {
    margin-top: 64px;
    padding-bottom: 16px;
    border-bottom: 1px solid #dfdfe0;
    margin-bottom: 32px;
    display: table;
    width: 100%;
}

#actor_userlist_head .head-control h2 {
    font-weight: 200;
    font-size: 20px;
    line-height: 24px;
    display: table-cell;
    vertical-align: top;
    width: 99%; /* Push it to maximum width */
}

#actor_userlist_head .head-control h2 em {
    display: inline-block;
    margin-left: 8px;
    font-weight: inherit;
    color: #525f6b;
    font-size: 16px;
    line-height: 20px;
}

#actor_userlist_head .head-control .data-action {
    font-size: 14px;
    line-height: 20px;
    display: table-cell;
    vertical-align: top;
    text-align: right;
    white-space: nowrap;
}

/* !-------------------------------------------- */
/* !ACTOR: MyAccount User list */
/* !-------------------------------------------- */

#actor_userlist .substance-message {
    margin-top: -16px;
    margin-bottom: 32px;
}

#actor_userlist .substance-table {
    margin-bottom: 32px;
    line-height: 18px;
}

#actor_userlist .substance-table td {
    padding-top: 24px;
    padding-bottom: 24px;
}

#actor_userlist .substance-table td:last-child {
    text-align: right;
}

#actor_userlist .substance-table .data-action {
    font-size: 14px;
    line-height: 20px;
}

#actor_userlist .substance-table .user-self {
    padding-left: 20px;
    background: transparent url("./img/icon/iconsprite_nav_account.svg") left 0 no-repeat;
    background-size: 20px;
    min-height: 20px;
}


#actor_userlist .substance-table .data-action + .data-action {
    margin-left: 30px;
}

#actor_userlist .substance-table + .primary-action {
    display: table;
    margin: auto;
}

/* !-------------------------------------------- */
/* !ACTOR: MyAccount header address book */
/* !-------------------------------------------- */

#actor_addressbook_head .head-control {
    margin-top: 64px;
    padding-bottom: 16px;
    border-bottom: 1px solid #dfdfe0;
    margin-bottom: 32px;
    display: table;
    width: 100%;
}

#actor_addressbook_head .head-control h2 {
    font-weight: 200;
    font-size: 20px;
    line-height: 24px;
    display: table-cell;
    vertical-align: top;
    width: 99%; /* Push it to maximum width */
}

#actor_addressbook_head .head-control h2 em {
    display: inline-block;
    margin-left: 8px;
    font-weight: inherit;
    color: #525f6b;
    font-size: 16px;
    line-height: 20px;
}

#actor_addressbook_head .head-control .data-action {
    font-size: 14px;
    line-height: 20px;
    display: table-cell;
    vertical-align: top;
    text-align: right;
    white-space: nowrap;
}

#actor_addressbook_head .head-search .field-container {
    display: inline-block;
    width: 50%;
    margin-bottom: 48px;
}

/* !-------------------------------------------- */
/* !ACTOR: MyAccount address book */
/* !-------------------------------------------- */

#actor_addressbook .substance-message {
    margin-top: -16px;
    margin-bottom: 32px;
}

#actor_addressbook .substance-table {
    margin-bottom: 32px;
    line-height: 18px;
}

#actor_addressbook .substance-table td {
    padding-top: 24px;
    padding-bottom: 24px;
}

#actor_addressbook .substance-table td:last-child {
    text-align: right;
}

#actor_addressbook .substance-table .substance-item-state {
    margin-bottom: 16px;
}

#actor_addressbook .substance-table .address-title {
    font-weight: bold;
}

#actor_addressbook .substance-table .address-title + p:not(.address-title), 
#actor_addressbook .substance-table .address-phone {
    margin-top: 16px;
}

#actor_addressbook .substance-table .data-action, 
#actor_addressbook .substance-table .link-action {
    font-size: 14px;
    line-height: 20px;
}

#actor_addressbook .substance-table .data-action + .data-action {
    margin-left: 30px;
}

#actor_addressbook .substance-table + .primary-action {
    display: table;
    margin: auto;
}

/* !-------------------------------------------- */
/* !ACTOR: MyAccount header user edit */
/* !-------------------------------------------- */

#actor_useredit_head .substance-account-data, 
#actor_useredit_head .substance-message {
    margin-top: 32px;
}

/* !-------------------------------------------- */
/* !ACTOR: MyAccount User Edit */
/* !-------------------------------------------- */

#actor_useredit .cell {
    margin-top: 64px;
}

#actor_useredit .cell h2 {
    font-weight: 200;
    font-size: 24px;
    line-height: 28px;
    margin-bottom: 32px;
}

/* --- General settings */
#actor_useredit .edit-general .field-entry {
    float: left;
    width: calc(50% - 16px);
    margin-right: 16px;
    margin-bottom: 32px;
}

#actor_useredit .edit-general .field-entry:nth-child(2n) {
    margin-right: 0;
    margin-left: 16px;
}

/* --- Password */
/* Preface */
#actor_useredit .edit-password p, 
#actor_useredit .edit-password p + .data-action {
    font-size: 14px;
    line-height: 20px;
    display: inline-block;
    margin-bottom: 16px;
}

#actor_useredit .edit-password p:after {
    content: "|";
    color: #D4D7DA;
    display: inline-block;
    margin: 0 10px 0 10px;
}

/* Password field & controllers */
#actor_useredit .edit-password .field-entry {
    width: 25%;
    display: inline-block;
    margin-right: 16px;
    vertical-align: bottom;
}

#actor_useredit .edit-password .field-entry + .data-action {
    font-size: 14px;
    line-height: 40px;
    margin-right: 16px;
    vertical-align: bottom;
}

#actor_useredit .edit-password .primary-action {
    vertical-align: bottom;
}

/* --- Account state */
#actor_useredit .edit-state {
    font-size: 14px;
    line-height: 20px;
}

#actor_useredit .edit-state p {
    display: inline-block;
}

#actor_useredit .edit-state .data-action:before {
    content: "|";
    color: #D4D7DA;
    display: inline-block;
    margin: 0 10px 0 10px;
}

/* --- Role and single rights */
#actor_useredit .edit-role .field-entry.entry-select {
    width: calc(50% - 16px);
    margin-bottom: 32px;
}

#actor_useredit .edit-role .field-entry.substance-customcheckbox {
    font-size: 14px;
    line-height: 20px;
}

#actor_useredit .edit-role .field-entry.entry-checkbox {
    padding: 24px 0 24px 0;
    border-bottom: 1px solid #dfdfe0;
}

/* --- Tools */
#actor_useredit .edit-tools {
    margin-top: 64px;
    text-align: right;
    font-size: 14px;
    line-height: 20px;
}

#actor_useredit .edit-tools .data-action {
    vertical-align: middle;
}

#actor_useredit .edit-tools .primary-action {
    margin-left: 40px;
}

/* !-------------------------------------------- */
/* !ACTOR: MyAccount header address edit (serves also read-only addresses) */
/* !-------------------------------------------- */

#actor_addressedit_head .substance-account-head, 
#actor_addressedit_head .substance-message {
    margin-bottom: 32px;
}

#actor_addressedit_head .address-default {
    margin-bottom: 24px;
}

#actor_addressedit_head .address-default:after {
    content: "|";
    color: #D4D7DA;
    display: inline-block;
    margin: 0 10px 0 10px;
}

#actor_addressedit_head .substance-account-data .cell-title {
    margin-bottom: 0;
}

/* !-------------------------------------------- */
/* !ACTOR: MyAccount Address Edit */
/* !-------------------------------------------- */

#actor_addressedit .cell {
    margin-top: 64px;
}

#actor_addressedit .cell h2 {
    font-weight: 200;
    font-size: 24px;
    line-height: 28px;
    margin-bottom: 32px;
}

#actor_addressedit .cell .field-entry {
    float: left;
    width: calc(50% - 16px);
    margin-right: 16px;
    margin-bottom: 32px;
}

#actor_addressedit .cell .field-entry:nth-child(2n) {
    margin-right: 0;
    margin-left: 16px;
}

/* --- Tools */
#actor_addressedit .edit-tools {
    margin-top: 64px;
    font-size: 14px;
    line-height: 20px;
    text-align: right;
}

#actor_addressedit .edit-tools .field-entry.entry-checkbox {
    text-align: left;
    vertical-align: middle;
    margin-bottom: 0;
    margin-top: 8px;
}

#actor_addressedit .edit-tools .data-action {
    vertical-align: middle;
}

#actor_addressedit .edit-tools .primary-action {
    margin-left: 40px;
}

/* !-------------------------------------------- */
/* !ACTOR: MyAccount Address Viewing only */
/* !-------------------------------------------- */

#actor_addressview .cell {
    margin-top: 64px;
    font-size: 14px;
    line-height: 20px;
}

#actor_addressview .cell h2 {
    font-weight: 200;
    font-size: 24px;
    line-height: 28px;
    margin-bottom: 32px;
}

#actor_addressview .view-tools p:first-child {
    font-weight: bold;
}

/* !-------------------------------------------- */
/* !ACTOR: MyAccount Catalogue settings */
/* !-------------------------------------------- */

#actor_catalog .cell {
    margin-top: 64px;
    font-size: 14px;
    line-height: 20px;
}

#actor_catalog .cell h2 {
    font-weight: 200;
    font-size: 24px;
    line-height: 28px;
    margin-bottom: 32px;
}

/* --- Standard checkbox fields */
#actor_catalog .cell .field-entry {
    padding: 24px 0 24px 0;
    border-bottom: 1px solid #dfdfe0;
}

#actor_catalog .cell .field-entry.entry-checkbox label {
    display: block;
    font-weight: bold;
    margin-bottom: 16px;
}

#actor_catalog .catalog-tools {
    text-align: right;
}

/* --- Mapping table upload/download */
#actor_catalog .cell .field-wrap-upload, 
#actor_catalog .cell .field-wrap-download {
    display: inline-block;
    vertical-align: top;
}

#actor_catalog .cell .field-wrap-upload {
    width: 490px;
    margin-right: 98px;
}

#actor_catalog .cell .field-wrap-download {
    width: 254px;
}

#actor_catalog .cell .wrap-title {
    font-weight: bold;
}

#actor_catalog .cell .field-wrap-upload p, 
#actor_catalog .cell .field-wrap-download p {
    margin-bottom: 16px;
}

/* --- Expander for actual mapping table upload */
#actor_catalog .field-entry .field-wrap-tool {
    display: none;
}

#actor_catalog .field-entry.item-active .field-wrap-tool {
    display: block;
    margin-top: 32px;
}

#actor_catalog .field-wrap-tool .upload-explanation {
    width: 390px;
    float: left;
}

#actor_catalog .field-wrap-tool .upload-control {
    width: 390px;
    float: right;
}

#actor_catalog .field-wrap-tool h3 {
    font-weight: 200px;
    font-size: 16px;
    line-height: 22px;
    margin-bottom: 16px;
}

#actor_catalog .field-wrap-tool .upload-explanation .substance-image {
    margin-top: 22px;
}

#actor_catalog .field-wrap-tool .upload-explanation .external-sample {
    padding-left: 40px;
    min-height: 40px;
    margin-top: 22px;
    margin-bottom: 10px;
    position: relative;
}

#actor_catalog .field-wrap-tool .upload-explanation .external-sample:before {
    content: "XLS";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 40px;
    height: 40px;
    font-size: 8px;
    font-weight: 400;
    line-height: 40px;
    text-indent: 5px;
    background: transparent url("./img/icon/iconsprite_doc_medium.svg") -8px top no-repeat;
}

#actor_catalog .field-wrap-tool .upload-explanation .external-sample .link-action {
    display: block;
}

/* !-------------------------------------------- */
/* !ACTOR: MyAccount Checkout settings */
/* !-------------------------------------------- */

#actor_checkout_settings .cell {
    margin-top: 64px;
    font-size: 14px;
    line-height: 20px;
}

#actor_checkout_settings .checkout-tools {
    text-align: right;
}

/* --- Standard fields */
#actor_checkout_settings .molecule {
    position: relative;
    padding: 24px 0 24px 0;
    border-bottom: 1px solid #dfdfe0;
}

#actor_checkout_settings .molecule > p {
    width: 490px;
    margin-right: 98px;
}

#actor_checkout_settings .molecule label {
    display: block;
    font-weight: bold;
    margin-bottom: 16px;
    width: 490px;
    margin-right: 98px;
}

#actor_checkout_settings .molecule .field-entry.entry-select {
    position: absolute;
    top: 50%;
    right: 0;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    width: 254px;
}

/* --- Address selection */
#actor_checkout_settings .shipping-address .address-intro, 
#actor_checkout_settings .shipping-address .address-value {
    display: inline-block;
    vertical-align: top;
}

#actor_checkout_settings .shipping-address .address-value {
    width: 490px;
    margin-right: 98px;
}

#actor_checkout_settings .shipping-address .value-title {
    font-weight: bold;
    margin: 24px 0 0 0;
}

#actor_checkout_settings .shipping-address .substance-customselect {
    width: 254px;
    position: absolute;
    top: 36px;
    right: 0;
}

#actor_checkout_settings .shipping-address .substance-customselect label {
    width: auto;
}

/* !-------------------------------------------- */
/* !ACTOR: MyAccount Personalization */
/* !-------------------------------------------- */

#actor_personal .cell {
    margin-top: 64px;
    font-size: 14px;
    line-height: 20px;
}

#actor_personal .checkout-tools {
    text-align: right;
}

/* --- Standard fields */
#actor_personal .molecule {
    position: relative;
    padding: 24px 0 24px 0;
    border-bottom: 1px solid #dfdfe0;
}

#actor_personal .molecule label {
    display: block;
    font-weight: bold;
    margin-bottom: 16px;
}

#actor_personal .molecule .data-action {
    margin-top: 16px;
}

#actor_personal .molecule .field-entry.entry-select {
    position: absolute;
    top: 50%;
    right: 0;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    width: 254px;
}

/* !-------------------------------------------- */
/* !ACTOR: MyAccount Dealer information */
/* !-------------------------------------------- */

#actor_dealer .cell {
    margin-top: 64px;
    font-size: 14px;
    line-height: 20px;
}

#actor_dealer .cell h2 {
    font-weight: 200;
    font-size: 24px;
    line-height: 28px;
    padding-bottom: 24px;
    border-bottom: 1px solid #dfdfe0;
    margin-bottom: 24px;
}

#actor_dealer .dealer-info {
    text-align: right;
    font-size: 14px;
    line-height: 20px;
}

#actor_dealer .data-cell .data-action, 
#actor_dealer .data-cell .link-action {
    margin-top: 32px;
}

#actor_dealer .data-cell dt:not(:first-child) {
    margin-top: 16px;
}

#actor_dealer .data-cell .address-block:not(:first-child) {
    margin-top: 16px;
}

#actor_dealer .data-cell .cell-content .cell-title {
    margin-top: 32px;
}

/* !-------------------------------------------- */
/* !ACTOR: MyAccount Assistance header */
/* !-------------------------------------------- */

#actor_assistance_head {
    margin-bottom: 64px;
}

#actor_assistance_head .substance-vcard {
    margin-top: 32px;
}

/* !-------------------------------------------- */
/* !ACTOR: MyAccount Bosch Contacts */
/* !-------------------------------------------- */

#actor_contacts .cell {
    margin-top: 64px;
    font-size: 14px;
    line-height: 20px;
}

#actor_contacts .cell h2 {
    font-weight: 200;
    font-size: 24px;
    line-height: 28px;
    padding-bottom: 24px;
    border-bottom: 1px solid #dfdfe0;
    margin-bottom: 24px;
}

#actor_contacts .data-cell .molecule:not(:first-child) {
    margin-top: 32px;
}

#actor_contacts .cell .contact-block .link-action {
    word-break: break-all;
    -ms-word-break: break-all;
    display: inline;
}

/* IE11, Edge and Firefox don't give a shit for word-break if it's display: inline */
@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
    #actor_contacts .cell .contact-block .link-action {
        display: inherit;
    }
}

@supports (-ms-ime-align:auto) and (color:unset) {
    #actor_contacts .cell .contact-block .link-action {
        display: inherit;
    }
}

@-moz-document url-prefix() {
    #actor_contacts .cell .contact-block .link-action {
        display: inherit;
    }
}

/* !-------------------------------------------- */
/* !ACTOR: MyAccount List management header */
/* !-------------------------------------------- */

#actor_lists_head {
    font-size: 14px;
    line-height: 20px;
    margin-bottom: 32px;
}

/* --- Page headline */
#actor_lists_head h1 {
    font-weight: 200;
    font-size: 36px;
    line-height: 40px;
    display: inline-block;
    margin-bottom: 40px;
    display: none; /* The substance-title-picker serves as a headline here */
}

/* --- List management */
#actor_lists_head .substance-title-picker {
    display: inline-block;
    max-width: 550px; /* leave some space for the Add button */
}

#actor_lists_head .substance-title-picker.picker-editing .picker-editor {
    max-width: 430px; /* leave some space for Save + Add button */
}

#actor_lists_head .list-management .data-action.icon-add {
    float: right;
    margin-top: 8px;
}

/* --- Optional title details */
#actor_lists_head .title-detail {
    margin-top: 16px;
    margin-bottom: 32px;
    font-size: 14px;
}

/* --- List controls + properties */
#actor_lists_head .substance-message {
    margin-top: 48px;
}

/* :not selector only needed in prototype but doesn't hurt in production */
#actor_lists_head .substance-message:not([style="display: none;"]) + .list-control {
    margin-top: 16px;
}

#actor_lists_head .list-control {
    margin-top: 48px;
    padding-bottom: 16px;
    border-bottom: 1px solid #dfdfe0;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

#actor_lists_head .list-control .control-change {
    flex-shrink: 1;
    flex-grow: 0;
    flex-basis: auto;
}

/* Last updated */
#actor_lists_head .control-change {
    font-size: 12px;
    margin-right: 32px;
}

#actor_lists_head .control-change em {
    display: block;
}

/* List actions */
#actor_lists_head .substance-toolchain {
    flex-shrink: 0;
    flex-grow: 1;
    flex-basis: content;
    white-space: nowrap;
}

#actor_lists_head .substance-toolchain .flyout-host {
    white-space: normal;
}

/* !-------------------------------------------- */
/* !ACTOR: MyAccount List of Lists */
/* !-------------------------------------------- */

/* --- List entries */
#actor_lists .list-entry {
    padding: 32px 0 32px 0;
    border-top: 1px solid #dfdfe0;
}

#actor_lists .list-entry:first-child {
    border-top: none;
}

#actor_lists .substance-message + .list-entry {
    margin-top: 32px;
}

/* PRODUCTION FIX: <div> AJAX containers as direct childs of <ul> */
#actor_lists > ul > div .substance-message {
    margin-top: 32px;
    margin-bottom: 32px;
}

#actor_lists > ul > div {
    border-top: 1px solid #dfdfe0;
}

#actor_lists > ul > div:first-child {
    border-top: none;
}

/* --- Container layout */
#actor_lists .productsection-id,
#actor_lists .productsection-info,
#actor_lists .productsection-price {
    float: left;
    font-size: 14px;
    line-height: 20px;
}

#actor_lists .productsection-id {
    font-size: 12px;
    width: 166px;
    margin-right: 30px;
    margin-bottom: 24px;
}

#actor_lists .productsection-info {
    width: 360px;
    margin-right: 30px;
    margin-bottom: 24px;
}

#actor_lists .productsection-price {
    width: 260px;
    margin-bottom: 24px;
    text-align: right;
}

#actor_lists .productsection-tools {
    clear: both;
    font-size: 14px;
    line-height: 20px;
}

#actor_lists .productsection-tools:after {
    content: "";
    display: table;
    clear: both;
}

/* --- Product properties */
#actor_lists .productsection-id .product-image {
    margin-bottom: 16px;
}

#actor_lists .productsection-info .product-title {
    color: #005691;
    font-size: 20px;
    line-height: 24px;
    margin-bottom: 16px;
}

#actor_lists .productsection-info .substance-table tr:last-child {
    border-bottom: 1px solid #dfdfe0;
}

#actor_lists .productsection-price .data-action.icon-delete {
    margin-bottom: 16px;
}

#actor_lists .productsection-price .product-availability {
    margin-bottom: 24px;
}

#actor_lists .productsection-price .product-id {
    margin-top: -12px;
    margin-bottom: 24px;
}

#actor_lists .productsection-price .product-id em {
    color: #005691;
    font-weight: inherit;
}

#actor_lists .productsection-price .substance-pricelist {
    margin-bottom: 16px;
}

/* --- Tools for list entry */
#actor_lists .productsection-tools .field-entry {
    float: left;
    width: 166px;
    margin-right: 30px;
}

#actor_lists .productsection-tools .tools-list {
    float: left;
    width: 650px;
}

#actor_lists .productsection-tools .tools-list .link-action:not(:first-child) {
    float: right;
    margin-left: 24px;
}

/* --- Additional delete button */
#actor_lists > .data-action {
    font-size: 14px;
    line-height: 20px;
    float: right;
    margin-top: 32px;
}

/* !-------------------------------------------- */
/* !ACTOR: Promotions list */
/* !-------------------------------------------- */

#actor_promo_list ul + .primary-action {
    display: table;
    margin: auto;
}

/* Promotion entries are handled within substances_big.css */

/* !-------------------------------------------- */
/* !ACTOR: News and Docs list */
/* !-------------------------------------------- */

#actor_newslist .substance-tab-bar {
    margin-top: -18px;
    margin-bottom: 32px;
}

#actor_newslist .newslist-story, 
#actor_newslist .newslist-docteaser, 
#actor_newslist .newslist-doc {
    position: relative;
    padding-bottom: 32px;
    border-bottom: 1px solid #dfdfe0;
    margin-bottom: 32px;
}

#actor_newslist ul + .primary-action {
    display: table;
    margin: auto;
}

/* --- Story entries */
#actor_newslist .newslist-story {
    font-size: 14px;
    line-height: 20px;
    padding-right: 280px;
}

#actor_newslist .newslist-story .substance-image, 
#actor_newslist .newslist-story .substance-video {
    position: absolute;
    top: 0;
    right: 0;
    width: 260px;
}

#actor_newslist .newslist-story .substance-video {
    max-height: 260px; /* hardcore protection against portrait videos */
}

#actor_newslist .newslist-story .story-title {
    font-weight: 200;
    font-size: 28px;
    line-height: 32px;
    margin-bottom: 16px;
}

#actor_newslist .newslist-story .story-subtitle {
    font-weight: 200;
    font-size: 16px;
    line-height: 20px;
    margin-bottom: 16px;
}

#actor_newslist .newslist-story .story-date {
    display: inline-block;
}

#actor_newslist .newslist-story .story-date:after {
    content: " - ";
}

#actor_newslist .newslist-story .story-tags, 
#actor_newslist .newslist-story .story-tags .cell {
    display: inline-block;
}

#actor_newslist .newslist-story .story-tags .cell:not(:last-child):after {
    content: ", ";
    color: #000;
}

#actor_newslist .newslist-story .story-content {
    margin: 16px 0 16px 0;
}

/* --- Document teaser entry */
#actor_newslist .newslist-docteaser h2 {
    font-weight: 200;
    font-size: 28px;
    line-height: 32px;
    margin-bottom: 16px;
}

#actor_newslist .newslist-docteaser h2 + p {
    padding-right: 280px;
    font-size: 16px;
    line-height: 20px;
    margin-bottom: 32px;
}

#actor_newslist .newslist-docteaser .doclist:after {
    content: "";
    display: table;
    clear: both;
}

#actor_newslist .newslist-docteaser .substance-doc {
    float: left;
    width: calc(50% - 16px);
    margin: 0 32px 32px 0;
}

#actor_newslist .newslist-docteaser .substance-doc:nth-child(2n) {
    margin-right: 0;
}

#actor_newslist .newslist-docteaser .primary-action {
    display: table;
    margin: auto;
}

/* !-------------------------------------------- */
/* !ACTOR: Single news story */
/* !-------------------------------------------- */

/* --- Header */
#actor_news_story .storypart-header {
    position: relative;
    font-size: 14px;
    line-height: 20px;
    margin-bottom: 32px;
}

#actor_news_story .storypart-header .story-title {
    font-weight: 200;
    font-size: 36px;
    line-height: 40px;
    margin-bottom: 16px;
}

#actor_news_story .storypart-header .story-subtitle {
    font-weight: 200;
    font-size: 16px;
    line-height: 20px;
    margin-bottom: 16px;
}

#actor_news_story .storypart-header .story-date {
    display: inline-block;
}

#actor_news_story .storypart-header .story-date:after {
    content: " - ";
}

#actor_news_story .storypart-header .story-tags, 
#actor_news_story .storypart-header .story-tags .cell {
    display: inline-block;
}

#actor_news_story .storypart-header .story-tags .cell:not(:last-child):after {
    content: ", ";
    color: #000;
}

#actor_news_story .storypart-header .substance-pageshare {
    position: absolute;
    top: 0;
    right: 0;
}

/* --- Image and story copy */
#actor_news_story .storypart-core {
    width: 750px;
    margin: 0 auto 48px auto;
}

#actor_news_story .storypart-core .substance-image, 
#actor_news_story .storypart-core .substance-video {
    margin-bottom: 48px;
}

#actor_news_story .storypart-core .story-content .substance-image, 
#actor_news_story .storypart-core .story-content .substance-video {
    margin-bottom: 2em;
}

/* Inside formatting of structured text is handled by .substance-richtext */
#actor_news_story .storypart-core .story-content {
    margin: 0 70px 0 70px;
    font-size: 16px;
    line-height: 24px;
}

#actor_news_story .storypart-core .story-content *:last-child {
    margin-bottom: 0;
}

/* --- Downloads */
#actor_news_story .storypart-attachments {
    width: 610px;
    margin: 0 auto 0 auto;
}

#actor_news_story .storypart-attachments > h2 {
    font-weight: 200;
    font-size: 28px;
    line-height: 32px;
    margin-bottom: 32px;
}

#actor_news_story .storypart-attachments .substance-doc {
    margin-bottom: 32px;
}

/* --- Related links */
#actor_news_story .storypart-links {
    width: 610px;
    margin: 0 auto 0 auto;
}

#actor_news_story .storypart-links h2 {
    font-weight: 200;
    font-size: 28px;
    line-height: 32px;
    margin-bottom: 32px;
}

#actor_news_story .storypart-links .cell {
    font-size: 14px;
    line-height: 20px;
    margin-bottom: 16px;
}

/* !-------------------------------------------- */
/* !ACTOR: Services */
/* Expressions: (default), custom */
/* !-------------------------------------------- */

/* --- Default Services matrix */
#actor_service:not(.expression-custom) .boxmatrix-title {
    margin-bottom: 0;
}

#actor_service:not(.expression-custom) .boxmatrix-list .cell {
    margin-top: 64px;
}

/* We override the list-size-* classes from substances_big.css here to adapt to the width of the actor (with/without subnavigation) */
/* Overrides are only used when subnavigation is paired with the standard Services actor */
#actor_sub_nav + #actor_service:not(.expression-custom) .substance-boxmatrix .cell {
    width: calc((100% / 3) - (30px * 2) / 3 - 0.2px);
}

#actor_service:not(.expression-custom):first-child .substance-boxmatrix .cell {
    width: calc(25% - (30px * 3) / 4 - 0.2px);
}

#actor_sub_nav + #actor_service:not(.expression-custom) .substance-boxmatrix .cell:nth-child(3n), 
#actor_service:not(.expression-custom):first-child .substance-boxmatrix .cell:nth-child(4n) {
    margin-right: 0;
}

#actor_sub_nav + #actor_service:not(.expression-custom) .substance-boxmatrix .cell:nth-child(n+4), 
#actor_service:not(.expression-custom):first-child .substance-boxmatrix .cell:nth-child(n+5) {
    margin-top: 32px;
}

/* --- PE4 custom pages: Component selection for cell inspectors */
.stage-enables-admin #actor_service.expression-custom .substance-boxmatrix .cell {
    outline: 1px solid transparent;
    transition: outline-color ease 0.5s;
}

.stage-enables-admin #actor_service.expression-custom .substance-boxmatrix .cell:hover {
    outline: 1px solid #CFD0D1;
    cursor: pointer;
    transition: outline-color ease 0.5s;
}

.stage-enables-admin #actor_service.expression-custom .substance-boxmatrix .cell.item-active {
    box-shadow: 0 0 20px rgba(0,0,0,0.4);
    cursor: inherit;
}

/* --- PE4 custom pages: FAQ/Accordion cells */
#actor_service.expression-custom .substance-boxmatrix .list-size-3 .substance-accordion h2, 
#actor_service.expression-custom .substance-boxmatrix .list-size-2-1 .substance-accordion:nth-child(even) h2, 
#actor_service.expression-custom .substance-boxmatrix .list-size-1-2 .substance-accordion:nth-child(odd) h2 {
    font-size: 22px;
}

#actor_service.expression-custom .substance-boxmatrix .list-size-3 .substance-accordion .accordion-content, 
#actor_service.expression-custom .substance-boxmatrix .list-size-2-1 .substance-accordion:nth-child(even) .accordion-content, 
#actor_service.expression-custom .substance-boxmatrix .list-size-1-2 .substance-accordion:nth-child(odd) .accordion-content {
    font-size: 14px;
    line-height: 20px;
    margin-right: 32px;
}

/* For iframe-embedded .substance-accordion, we have to recreate the special rules of .substance-boxmatrix .cell */
/* This is only needed in _some_ cases: */
/* Editing 2nd .cell of .list-size-2-1 */
/* Editing 1st .cell of .list-size-1-2 */
/* Editing any .cell of .list-size-3 */
.stage-embedded.substance-accordion.boxmatrix-default h2 {
    font-size: 22px;
}

.stage-embedded.substance-accordion.boxmatrix-default .accordion-content {
    font-size: 14px;
    line-height: 20px;
    margin-right: 32px;
}

/* Bigger distances for edge cases */
#actor_service.expression-custom .substance-boxmatrix .list-size-1 .substance-accordion {
    padding: 0 110px 0 110px; /* this would be a better solution for legibility */
    padding: 0;
}

#actor_service.expression-custom .substance-boxmatrix:not(:first-child) .substance-accordion {
    margin-top: 32px;
}

/* --- PE4 custom pages: RichText cells */
#actor_service.expression-custom .substance-boxmatrix .list-size-1 .substance-richtext, 
#actor_service.expression-custom .substance-boxmatrix .list-size-2-1 .substance-richtext:nth-child(odd), 
#actor_service.expression-custom .substance-boxmatrix .list-size-1-2 .substance-richtext:nth-child(even) {
    font-size: 16px;
    line-height: 24px;
}

/* For iframe-embedded .substance-richtext, we have to recreate the smaller default font-size of .substance-boxmatrix .cell */
/* This is only needed in _some_ cases: */
/* Editing any .cell of .list-size-2 */
/* Editing 2nd .cell of .list-size-2-1 */
/* Editing 1st .cell of .list-size-1-2 */
/* Editing any .cell of .list-size-3 */
.stage-embedded.substance-richtext.boxmatrix-default {
    font-size: 14px;
    line-height: 20px;
}

#actor_service.expression-custom .substance-boxmatrix .list-size-1 .substance-richtext:not(.accordion-content) {
    padding: 0 110px 0 110px; /* this would be a better solution for legibility */
    padding: 0;
}

#actor_service.expression-custom .substance-boxmatrix .list-size-1 .substance-richtext .substance-image, 
#actor_service.expression-custom .substance-boxmatrix .list-size-1 .substance-richtext .substance-video {
/*  This extended width only works when main column has padding-left/-right
    margin-left: -70px;
    margin-right: -70px;
    width: calc(100% + 140px);
*/
    margin-left: 0;
    margin-right: 0;
    width: 100%;
}

/* This is not a supported feature of PE4 */
#actor_service.expression-custom .substance-boxmatrix .substance-richtext button.icon-cart-add {
    margin-bottom: 32px;
}

/* --- PE4 custom pages: Forms */
#actor_service.expression-custom .substance-boxmatrix .list-size-1 .substance-form {
    padding: 0 110px 0 110px; /* this would be a better solution for legibility */
    padding: 0;
}

#actor_service.expression-custom .substance-boxmatrix .substance-form legend {
    font-weight: 200;
    font-size: 20px;
    line-height: 24px;
}

#actor_service.expression-custom .substance-boxmatrix .substance-form .substance-message {
    margin-bottom: 8px;
}

#actor_service.expression-custom .substance-boxmatrix .substance-form .field-entry h3 {
    font-weight: 200;
    font-size: 16px;
    line-height: 20px;
    padding-top: 16px;
}

#actor_service.expression-custom .substance-boxmatrix .substance-form .field-entry .field-comment:first-child {
    padding-top: 0;
}

#actor_service.expression-custom .substance-boxmatrix .substance-form .field-entry:not(:last-child) {
    margin-bottom: 24px;
}

#actor_service.expression-custom .substance-boxmatrix .substance-form .field-entry.entry-radio .field-container + .field-container {
    margin-top: 8px;
}

#actor_service.expression-custom .substance-boxmatrix .substance-form .primary-action {
    margin-top: 32px;
    float: right;
}

/* Administration: Buttons for managing field entries */
.stage-enables-admin #actor_service.expression-custom .substance-boxmatrix .substance-form {
    padding-right: 75px;
}

#actor_service.expression-custom .substance-boxmatrix .substance-form .field-entry .field-admin {
    display: none;
}

.stage-enables-admin #actor_service.expression-custom .substance-boxmatrix .substance-form .field-entry .field-admin {
    display: block;
    position: absolute;
    top: 50%;
    margin-top: -10px;
    right: -75px;
}

/* Administration: Block clicks on field entries but make them selectable */
.stage-enables-admin #actor_service.expression-custom .substance-boxmatrix .substance-form .field-entry {
    cursor: pointer;
}

.stage-enables-admin #actor_service.expression-custom .substance-boxmatrix .substance-form .field-entry:before {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: transparent;
    opacity: 0.1;
    z-index: 10;
}

.stage-enables-admin #actor_service.expression-custom .substance-boxmatrix .substance-form .field-entry.item-active:before {
    background: #aaa;
}

/* !-------------------------------------------- */
/* !ACTOR: Selfhelp with Hotline + FAQ */
/* !-------------------------------------------- */

#actor_selfhelp {
    background: url("./img/back/supergraphic_blue.svg") 0 -610px no-repeat;
    background-size: 100%;
    font-size: 14px;
    line-height: 20px;
    color: #fff;
    padding: 64px 0 64px 0;
}

#actor_selfhelp:before {
    content: "";
    display: block;
    position: absolute;
    left: 50%;
    top: 64px;
    bottom: 64px;
    width: 1px;
    background: #fff;
}

/* --- Columns */
/* Column layout container are set in stages.css */

#actor_selfhelp .selfhelp-hotline h2, 
#actor_selfhelp .selfhelp-faq h2 {
    font-weight: 200;
    font-size: 28px;
    line-height: 32px;
    margin-bottom: 32px;
}

/* --- Hotline */
#actor_selfhelp .selfhelp-hotline .hotline-number {
    padding-left: 56px;
    margin-bottom: 16px;
    position: relative;
}

#actor_selfhelp .selfhelp-hotline .hotline-number:before {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 1px solid #fff;
    background: transparent url("./img/icon/iconsprite_tool_phone.svg") center -160px no-repeat;
}

#actor_selfhelp .selfhelp-hotline .hotline-number p:first-child {
    font-weight: bold;
}

#actor_selfhelp .selfhelp-hotline .hotline-hours {
    margin-top: 32px;
    font-weight: 400;
    display: table
}

#actor_selfhelp .selfhelp-hotline .hotline-hours .cell {
    display: table-row;
}

#actor_selfhelp .selfhelp-hotline .hotline-hours .hours-day {
    display: table-cell;
    font-weight: bold;
    padding-right: 64px;
}

#actor_selfhelp .selfhelp-hotline .hotline-hours .hours-range {
    display: table-cell;
}

/* --- FAQ */
#actor_selfhelp .selfhelp-faq .link-action {
    font-weight: 400;
    font-size: 18px;
    line-height: 22px;
    margin-top: 32px;
}

/* !-------------------------------------------- */
/* !ACTOR: Campaigns */
/* Expressions: (default), admin, private */
/* !-------------------------------------------- */

/* --- Header */
#actor_campaign .campaign-header {
    margin-bottom: 32px;
}

#actor_campaign .campaign-header h1 {
    font-weight: 200;
    font-size: 36px;
    line-height: 40px;
    margin-right: 48px;
    display: inline-block;
}

/* Admin mode: Switch for private campaigns */
#actor_campaign .campaign-header .substance-customcheckbox {
    display: none;
}

#actor_campaign.expression-admin .campaign-header .substance-customcheckbox {
    display: inline-block;
    height: 40px;
    font-size: 14px;
    vertical-align: middle;
}

#actor_campaign .campaign-header .substance-customcheckbox label {
    margin-right: 80px; /* Crude way to make room for the pseudo-label, risky for foreign languages */
    vertical-align: middle;
}

#actor_campaign .campaign-header .substance-customcheckbox .checkbox-container {
    vertical-align: middle;
    position: relative;
    top: 0;
    margin-top: 0;
    display: inline-block;
}

/* Crosslink to promotions page */
#actor_campaign .campaign-header .primary-action {
    position: absolute;
    top: 0;
    right: 15px;
    
}

/* --- Campaign container & stage */
#actor_campaign .campaign-item:not(:last-child) {
    margin-bottom: 32px;
}

/* Admin mode: Private campaigns */
#actor_campaign .campaign-item.item-private {
    display: none;
}

#actor_campaign.expression-admin.expression-private .campaign-item.item-private {
    display: block;
}

/* Expanded campaigns */
#actor_campaign .campaign-item.item-active .campaign-stage .stage-subline {
    display: none;
}

#actor_campaign .campaign-item.item-active .campaign-stage .stage-content {
    padding-bottom: 72px; /* Make room for connector dot */
}

/* Connector between stage and product list */
#actor_campaign .campaign-item.item-active .campaign-list:after {
    content: "";
    display: block;
    position: absolute;
    left: calc(50% - 7px);
    top: -95px;
    width: 15px;
    height: 15px;
    background: #fff;
    border-radius: 50%;
}

#actor_campaign .campaign-item.item-active .campaign-list .list-product:first-child:before {
    content: "";
    display: block;
    position: absolute;
    left: 50%;
    top: -80px;
    width: 1px;
    height: 32px;
    background: #fff;
}

#actor_campaign .campaign-item.item-active .campaign-list:before {
    content: "";
    display: block;
    position: absolute;
    left: 50%;
    top: -48px;
    width: 1px;
    height: 32px;
    background: #DFDFE0;
}

/* --- Product list of a campaign */
#actor_campaign .campaign-item .campaign-list {
    display: none;
    position: relative;
    margin-top: 48px;
    margin-bottom: 48px;
}

#actor_campaign .campaign-item:last-child .campaign-list {
    margin-bottom: 0;
}

#actor_campaign .campaign-item.item-active .campaign-list {
    display: block;
}

/* Product container and columns */
#actor_campaign .campaign-item.item-active .campaign-list .list-product {
    position: relative;
    padding-bottom: 16px;
    border-bottom: 1px solid #dfdfe0;
    margin-bottom: 16px;
}

#actor_campaign .campaign-item.item-active .campaign-list .list-product:last-child {
    margin-bottom: 0;
    border: none;
}

#actor_campaign .campaign-item.item-active .campaign-list .list-product:after {
    content: "";
    display: table;
    clear: both;
}

#actor_campaign .campaign-item .campaign-list .cell {
    float: left;
}

#actor_campaign .campaign-item .campaign-list .product-image {
    width: 270px;
    margin-right: 30px;
}

#actor_campaign .campaign-item .campaign-list .product-info {
    width: 540px;
    margin-right: 30px;
    font-size: 14px;
    line-height: 20px;
}

#actor_campaign .campaign-item .campaign-list .product-action {
    width: 270px;
}

/* Text information */
#actor_campaign .product-info .product-title {
    font-size: 24px;
    line-height: 28px;
    font-weight: 200;
    margin-bottom: 8px;
}
    
#actor_campaign .product-info .product-id {
    font-size: 12px;
    line-height: 18px;
    margin-bottom: 8px;
}

#actor_campaign .product-info .product-positioning {
    margin-bottom: 16px;
}

#actor_campaign .product-info .substance-richtext {
    margin-top: 16px;
    font-size: 14px;
    line-height: 20px;
}

#actor_campaign .product-info .substance-richtext h4 {
    font-size: 14px;
    line-height: 20px;
    font-weight: 600;
}

#actor_campaign .product-info .substance-richtext li {
    padding-left: 28px;
}

#actor_campaign .product-info .substance-richtext li:before {
    top: 6px;
}

#actor_campaign .product-info .product-text:not(.item-active) .substance-richtext + .substance-richtext {
    display: none;
}

#actor_campaign .product-info .product-text:not(.item-active) .substance-richtext:first-child li:not(:first-child) {
    display: none;
}

/* Price & order buttons */
#actor_campaign .product-action .substance-pricelist .price-entry {
    border-top: none;
    margin-bottom: 16px;
}

#actor_campaign .product-action .substance-pricelist .price-entry .price-name {
    display: block;
    margin-right: 0;
    float: none;
    text-align: right;
}

#actor_campaign .product-action .substance-pricelist .price-entry .price-value {
    display: block;
    float: none;
    text-align: right;
}

#actor_campaign .product-action .substance-item-state {
    float: right;
    margin-bottom: 16px;
}

#actor_campaign .product-action .substance-toolchain {
    clear: right;
}

/* !-------------------------------------------- */
/* !ACTOR: Campaign Teaser (only on homepage) */
/* !-------------------------------------------- */

#actor_campaign_teaser {
    background: #005691;
    z-index: 1; /* needed because images within .substance-stage are positioned with z-index: -1 */
}

#actor_campaign_teaser.substance-carousel {
    padding-bottom: 16px;
}

#actor_campaign_teaser .substance-stage {
    /* min-height: 236px; TODO: Check what to do with overflowing text content */
    /* We're leaving the inherited min-height from the .substance-stage declaration to provide tall enough image containers */
}

/* More left padding for left-aligned stages to avoid overlays of carousel buttons */
@media only screen and (max-width: 1224px) {
    #actor_campaign_teaser.substance-carousel .substance-stage.stage-left .stage-content {
        padding-left: 32px;
    }
}
