h1, h1:first-child {
    margin-bottom: 0.2em;
}

h4, h4:first-child {
    font-weight: normal;
}

em {
    font-size: 1.25em;
    font-weight: lighter;
    color: #7fb23f;
}

#lfCategories {
    position: relative;
}

#lfCategories > img:not(:first-of-type) {
    display: none;
    position: absolute;
    pointer-events: none;
}

#categoryInfos {
    align-items: center;
    flex-wrap: nowrap;
}

#categoryInfos > div {
    max-width: 300px;
}

#categoryInfos #lfList {
    padding: 0 1% 0 3%;
    text-align: left;
    font-size: 18px;
    align-self: flex-start;
    max-width: 40%;
}

ul.uncheck > li.check, ul.uncheck > li {
    background-size: 25px auto;
    padding-left: 45px;
    background-position: left bottom;
}

ul.uncheck > li:not(.check) {
    filter: grayscale(1);
}

ul.uncheck > li a {
    filter: none;
}

ul.uncheck > li:not(.check) a:hover, ul.uncheck > li:hover:not(.check), ul.uncheck li:hover:not(.check) a {
    text-decoration: none;
    color: #7fb23f !important;
    filter: none;
    cursor: pointer;
}

ul.uncheck > li.check a:hover {
    text-decoration: none;
    cursor: inherit;
}

#lfCategories img[title="Stress"] {
    left: 14%;
    top: 0;
    width: 72%;
}

#lfCategories img[title="Angst"] {
    height: 71%;
    right: 0;
    top: 14.5%;
}

#lfCategories img[title="Entspannung"] {
    bottom: 0;
    left: 14%;
    width: 72%;
}

#lfCategories img[title="Überlastung"] {
    height: 71%;
    left: 0;
    top: 14.5%;
}

#expertBox {
    background-color: white;
    text-align: center;
    overflow: visible;
    padding: 0;
    position: relative;
    font-size: 20px;
    font-weight: normal;
    height: 315px;
}

#expertBox > * {
    z-index: 2;
    position: relative;
}

#expertBox::before {
    content: '';
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    background-image: url('../graphX/breaker/Impulsdialog-Lernmappen-Training.jpg');
    background-repeat: no-repeat;
    background-attachment: fixed;
    background-size: cover;
    background-position: center center;
    pointer-events: none;
}

#expertBox > div {
    height: 100%;
}

#expertBox table {
    height: 100%;
    position: relative;
    text-align: justify;
    width: 57%;
    float: right;
}


#addtlHtml table:not(.invisible) > tbody > tr:nth-child(2n) {
    background-color: rgba(0, 0, 0, 0.02);
}

#addtlHtml table tr {
    border-bottom: 1px solid #7fb23f;
    line-height: 180%;
}

#expertBox img.expert {
    position: absolute;
    left: 0;
    height: 350px;
    bottom: 0;
}

blockquote {
    text-shadow: 0 0 10px rgba(255, 255, 255, 1);
    background: rgba(0, 0, 0, 0) radial-gradient(ellipse at center center , rgba(255, 255, 255, 0.75) 0%, rgba(255, 255, 255, 0) 80%) repeat scroll 0 0;
    color: #393939;
    font-weight: normal;
}

img.quoteUp {
    filter: grayscale(1) brightness(0.2);
    margin-top: -0.3em;
}

img.quoteDown {
    filter: grayscale(1) brightness(0.2);
    margin-bottom: -0.3em;
}

.lfData .flex > div {
    flex-basis: 25%;
    flex-grow: 1;
}

#lfContent {
    text-align: left;
}

#lfContent h6 {
    margin: 0 0 30px 0;
}

#shortDescription {
    /*padding: 66px 40px 0;*/
    /*max-width: calc(100% - 310px - 300px);*/
    text-align: justify;
}

#shortDescription p {
    margin-top: 0;

}

.price > img {
    width: 25px;
}

.buyButton {
    display: inline-block;
    width: 304px;
    height: 49px;
    background-color: rgb(127, 178, 64);
    color: white;
    position: relative;
    cursor: pointer;
}

.buyButton:hover {
    background-color: #66a043;
}

.priceTag {
    background-image: url("../graphX/icons/priceTagCredits.png");
    background-repeat: no-repeat;
    background-size: contain;
    height: 85px;
    position: absolute;
    right: -16px;
    top: -15px;
    width: 125px;
    text-align: left;
}

.priceTag .price {
    color: #ffffff;
    font-size: 16px;
    font-weight: normal;
    transform: translateX(44px) translateY(50px) rotate(27deg);
}

#buyBox {
    max-width: 310px;
    text-align: center;
}

#buyWithMoney .priceTag {
    background-image: url("../graphX/icons/priceTagMoney.png");
}

#buyWithMoney .priceTag .price {
    transform: translateX(14px) translateY(16px) rotate(-18.5deg);
}

.priceTag img {
    filter: brightness(0) invert(1);
}

.buyButton .buyText {
    padding-top: 14px;
    text-align: center;
    width: 200px;
}

#moreProductInfo {
    display: block;
}

#moreProductInfo .arrow {
    margin-left: 10px;
    display: inline-block;
    transform: rotate(90deg);
}

#lfGallery {
    max-width: 33%;
    position: relative;
    overflow: hidden;
}

#lfGallery > img:not(:nth-of-type(1)):not(:nth-of-type(2)):not(.prev):not(.next) {
    display: none;
    position: absolute;
    top: 0;
    left: 0;
}

#lfGallery > img:nth-of-type(2) {
    position: absolute;
    top: 0;
    left: 0;
}

#lfGallery > img.placeholder {
    visibility: hidden;
}

#lfGallery > img.next {
    position: absolute;
    right: 15px;
    width: 20px;
    opacity: 0.2;
}

#lfGallery > img.prev {
    position: absolute;
    left: 15px;
    width: 20px;
    opacity: 0.2;
}

area {
    cursor: pointer;
}

#lfGallery .next, #lfGallery .prev {
    z-index: 3;
    cursor: pointer;
    opacity: 0.7;
    top: 28%;
}

#trainingContent .media {
    font-size: 1.2em;
    padding: 0 15px;
    text-align: center;
}

#trainingContent .media img {
    display: block;
    margin: 0 auto 15px;
    max-width: 75px;
}

h2 {
    margin-bottom: 45px !important;
}

h3 {
    margin-bottom: 25px !important;
}

#totalRating img {
    height: 35px;
}

#totalRating {
    margin-top: 10px;
}

/* enter address for delivery */
.modalLayer .confirm fieldset .flex {
    width: 600px;
}

.modalLayer .confirm fieldset .flex ul.address:first-of-type li {
    margin-right: 25px;
}

.modalLayer .confirm fieldset .flex ul.address li {
    list-style-type: none;
}

#messageBar + div {
    padding-top: 25px;
}


#buyWithCredits .buyButton .buyText {
    font-size: 0.85em;
    padding-left: 15px;
}

#rateTraining {
    margin: 0 0 40px 0;
    float: right;
}

@media (max-width: 1030px) {
    #rateTraining {
        float: none;
        display: block;
        margin: 15px 0 0 0;
        position: static;
    }
}

@media (max-width: 767px) {
    #trainingContent {
        margin-top: 30px;
    }

    #trainingContent .media img, #trainingContent .media {
        text-align: left;

        margin: 0 0 15px;
    }

    #trainingContent .media:first-child {
        padding-left: 0;
    }

    .buyButton {
        width: 100%;
    }
}

@media (min-width: 768px) {
    #trainingContent {
        float: none;
        margin-top: 30px;
    }
}

@media (min-width: 992px) {
    #trainingContent {
        float: right;
        margin-top: 0;
        width: 100%;
        max-width: 400px;
    }
}