.contentblock_image img {
    width: 100%;
}
.contentblock_image.no100 img {
    width: auto;
    height: auto;
}
.contentblock_image.center-block.no100 img {
    margin: auto;
}
.contentblock_image.col-sm-12 {
    float: none;
}

.backbutton_bottom {
    text-align: center;
    margin: 1em;
}

/* fullscreen stuff */
.contentblock_image_fullscreen .container-fluid {
    margin: 0;
    padding: 0;
}
.contentblock_image_fullscreen .contentblock_image {
    background-size: cover;
    position: relative;
    background-position: 50% 50%;
}

/* video modal */
.contentblock_videoembed_modal {
    cursor: pointer;
    cursor: hand;
}

/* autoplay overlay */
.contentblock_videoembed .embed-responsive .autoplay_overlay {
    content: " ";
    position: absolute;
    left: 0;
    top: 0;
    background: rgba(0, 0, 0, 0.6);
    height: 100%;
    width: 100%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    color: rgba(255, 255, 255, 0.9);
    font-size: 1.2em;
}
.contentblock_videoembed .embed-responsive .autoplay_overlay i {
    font-size: 4em;
}

/*
.contentblock_image_fullscreen .contentblock_image_fullscreen_text_container {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
}
.contentblock_image_fullscreen .contentblock_image_fullscreen_text_container .contentblock_image_fullscreen_text {
    position: absolute;
    text-align: center;
    color: #eee;
    left: 0;
    bottom: 3em;
    padding: 0em 1.5em;
}
*/
.float-none {
    float: none;
    clear: both;
}

/* buttons / links */
.contentblock_buttons .btn {
    margin: 0.1em;
}

/* map in contentblock */
.widget_contentblock .container_map {
    margin-top: 1em;
}


.contentblock_videoembed {
    margin-top: 1em;
    margin-bottom: 1em;
}

.contentblock_videoembed.col-sm-12 {
    float: none;
    clear: both;
}
/* video "frame" backgrounds */
.contentblock_videoembed_background_macdesktop {
    background: transparent url(/images/video_backgrounds/mac-desktop.png) no-repeat 50% 50%;
    background-size: contain;
    position: relative;
}
.contentblock_videoembed_background_macdesktop iframe, .contentblock_videoembed_background_macdesktop video {
    position: absolute !important;
    left: 18% !important;
    width: 64.3% !important;
    top: 4% !important;
    height: 70% !important;
}

.contentblock_videoembed_background_macbook {
    background: transparent url(/images/video_backgrounds/macbook.png) no-repeat 50% 50%;
    background-size: contain;
    position: relative;
    padding: 4em;
    padding-bottom: 5em;
}
.contentblock_videoembed_background_macbook iframe, .contentblock_videoembed_background_macbook video {
    position: absolute !important;
    width: 86% !important;
    left: 7% !important;
    top: -4% !important;
    /*left: 14.8% !important;
    width: 70.5% !important;
    top: 6% !important;
    height: 79% !important;
    */
}

.contentblock_videoembed_background_surfacestudio {
    background: transparent url(/images/video_backgrounds/surface-studio.png) no-repeat 50% 50%;
    background-size: contain;
    position: relative;
    padding: 4em;
    padding-bottom: 5em;
}
.contentblock_videoembed_background_surfacestudio iframe, .contentblock_videoembed_background_surfacestudio video {
    position: absolute !important;
    /*
    left: 15.1% !important;
    width: 70% !important;
    top: 4% !important;
    height: 71.5% !important;
    */
}

.p .image_body {
    margin: 1em;
    margin-top: 0 !important;
}




/* bio box */
.contentblock_biobox {
    margin-top: 2em;
    border: 1px solid #ddd;
    padding: 0.5em;
    display: block;
    float: none;
    clear: both;
    width: 100%;
    font-size: 0.9em;
}
@media (max-width: 768px) {
    .contentblock_biobox img {
        display: block;
        width: 100%;
        margin: 0.5em auto !important;
        float: none !important;
    }
}

/* ecommerce */
.ecommerce_buttons {
    text-align: center;
    margin: 0.5em auto;
}


/* mobile */
@media (max-width: 768px) {
    .contentblock_image_fullscreen .contentblock_image_fullscreen_text_container .contentblock_image_fullscreen_text h1 {
        font-size: 2.2em;
    }
    .contentblock_image_fullscreen .contentblock_image_fullscreen_text_container .contentblock_image_fullscreen_text h2 {
        font-size: 1.6em;
    }

    .contentblock_buttons .pull-right, .contentblock_buttons .pull-left {
        float: none !important;
    }

    .p .image_body {
        display: block;
        width: 100%;
        margin: 1em auto;
    }
    .p .image_body .contentblock_videoembed {
        width: 100%;
    }

    p iframe {
        max-width: 100%;
        height: auto;
    }
}


/** similar products **/
.similarproducts {
    position: relative;
    padding: 1em 0;
    display: flex;
    overflow-x: auto;
    overflow-y: hidden;
}
.scroll_similar_products {
    position: absolute;
    top: 50%;
    font-size: 1.5em;
    background: rgba(255, 255, 255, 0.7);
    width: 2em;
    height: 2em;
    border-radius: 50%;
    color: #111;
    border: 1px solid #ddd;
    opacity: 0.5;
    /* display: flex; */
    align-items: center;
    justify-content: center;
    display: none !important;
}
.scroll_similar_products:hover, .scroll_similar_products:active, .scroll_similar_products:focus {
    opacity: 1;
    color: #111;
    text-decoration: none;
}
.scroll_similar_products_left {
    left: -0.5em;
}
.scroll_similar_products_right{
    right: -0.5em;
}
.similarproducts_item {
    width: 20%;
    min-width: 20%;
    margin: 0.5em 1em;
    position: relative;
}
.similarproducts_item .price {
    font-size: 0.8em;
    opacity: 0.95;
    position: absolute;
    background: #fff;
    right: 0;
    top: 0;
    padding: 0.5em;
    border-radius: 0 0 2px 2px;
    color: #111;
    z-index: 9999;
}
.similarproducts_item p {
    font-size: 0.95em;
    opacity: 0.8;
    margin: 0;
}
@media (max-width: 768px) {
    .similarproducts_item {
        width: 50%;
        min-width: 50%;
        margin: 0.5em;
    }
}

/** audio **/
.audio_player_container {
    margin: 15px 0;
}
@media (max-width: 768px) {
    .audio_player_container .audio_player_desktop {
        display: none;
    }
}
@media (min-width: 768px) {
    .audio_player_container .audio_player_desktop {
        display: block;
    }
    .audio_player_container .audio_player_mobile {
        display: none;
    }
    .audio_player_container.small .audio_player_mobile {
        display: flex;
        width: 200px;
        flex-wrap: wrap;
    }
    .audio_player_container.small .audio_player_desktop {
        display: none;
    }
}
.audio_player_mobile {
    background: #f2f3f4;
    font-size: 15px;
    border-radius: 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 5px 10px;
    cursor: pointer;
}
.audio_player_buttons span, .audio_player_rewind a {
    display: inline-block;
}
.audio_player_buttons a:hover {
    text-decoration: none;
}


.similarproducts_container, .additionalinfo_container {
    float: none;
    clear: both;
    margin-top: 1em;
    padding-top: 1em;
    width: 100%;
}
.modal-body .similarproducts_container, .modal-body .additionalinfo_container {
    margin-top: 0;
    padding-top: 0;
}
.modal-body .additionalinfo_container {
    margin-top: -1em;
}
.similarproducts_container {
    border-top: 1px solid #ddd;
}

@media (min-width: 768px) {
    .zoomIcon {
        position: absolute;
        bottom: 0;
        right: 0;
        width: 20px;
        height: 20px;
        background: #fff;
        color: #000;
        font-size: 12px;
        text-align: center;
        line-height: 20px;
        z-index: 9;
    }
}
@media (max-width: 768px) {
    .zoomIcon {
        display: none;
    }
}

/* large screens */
@media (min-width: 768px) {
    .contentblock_text p  img {
        margin: 0.5em 1em;
    }

    .contentblock_image.col-sm-6 {
        padding-top: 2em;
    }

    .contentblock_image_fullscreen .contentblock_image {
    }

    .contentblock_image_fullscreen .contentblock_image_fullscreen_text_container .contentblock_image_fullscreen_text {
        bottom: 35%;
    }

    .contentblock_image_fullscreen .contentblock_image_fullscreen_text_container .contentblock_image_fullscreen_text p {
        font-size: 1.1em;
    }

    .p .image_body .contentblock_videoembed {
        /*
        margin-left: -10%;
        width: 110%;
        */
    }

    /** we need to "fix" an error in some themes where we positioned "absolute" text before using flexbox */
    header.height_desktop_fullscreen .header_contents .contentblock_text {
        position: relative !important;
        left: auto !important;
        bottom: auto !important;
    }
}


/** collapsed **/
.collapsed_container {
    margin: 2em 0;
}
.collapsed_carousel {
    display: flex;
    overflow-x: auto;
}
.collapsed_carousel .collapsed_item {
    padding: 1em 2em 1em 0;
    cursor: pointer;
    min-width: 30%;
}
@media (max-width: 768px) {
    .collapsed_carousel .collapsed_item {
        min-width: 45%;
    }
    .collapsed_carousel .collapsed_item h4 {
        font-size: 0.8em;
        line-height: 1.3em;
    }
}
@media (min-width: 768px) {
    .collapsed_carousel .collapsed_item img {
        float: left;
        margin: 0 1em 1em 0;
        width: 25%;
    }
}