@media(min-width: 768px) {
    .catalog-product-view {
        .page-wrapper {
            .product-info-main {
                width: 49%;
                margin-bottom: 30px;
            }
            .product.media {
                width: 48%;
                margin-bottom: 30px;
            }
        }
    }
}
.catalog-product-view {
    .product {
        &.media {
            position: relative;
            .product-labels {
                .sale-label {
                    background: #051829;
                    color: #ffffff;
                    font-weight: 600;
                    padding: 6px 15px 5px;
                    position: absolute;
                    left: 15px;
                    text-transform: uppercase;
                    top: 15px;
                    font-size: 16px;
                    border-radius: 2px;
                    -moz-border-radius: 2px;
                    -webkit-border-radius: 2px;
                    &:after {
                        content: "";
                        display: block;
                        width: 0;
                        height: 0;
                        position: absolute;
                        right: 0;
                        bottom: -6px;
                        border-width: 4px;
                        border-color: #051829 #051829 transparent transparent;
                        border-style: solid;
                    }
                }
                .new-label {
                    background: #8b8f98;
                    color: #ffffff;
                    font-weight: 700;
                    padding: 6px 15px 5px;
                    position: absolute;
                    left: 15px;
                    text-transform: uppercase;
                    top: 15px;
                    font-size: 16px;
                    border-radius: 2px;
                    -moz-border-radius: 2px;
                    -webkit-border-radius: 2px;
                    &:after {
                        content: "";
                        display: block;
                        width: 0;
                        height: 0;
                        position: absolute;
                        right: 0;
                        bottom: -6px;
                        border-width: 4px;
                        border-color: #8b8f98 #8b8f98 transparent transparent;
                        border-style: solid;
                    }
                }
                .new-label + .sale-label {
                    top: 65px;
                }
            }
        }
    }
}
.product {
    &.media {
        .fotorama__thumb {
            border: 1px solid #e1e1e1;
            box-sizing: border-box;
        }
        .fotorama__stage {
            border: 1px solid #e1e1e1;
            box-sizing: border-box;
            transform: none;
            -webkit-transform: none;
            -moz-transform: none;
            * {
                box-sizing: border-box;
            }
            &:before {
                transform: none;
                -webkit-transform: none;
                -moz-transform: none;
            }
            &:after {
                transform: none;
                -webkit-transform: none;
                -moz-transform: none;
            }
        }
    }
}
.fotorama-item {
    &.fotorama--fullscreen {
        .fotorama__stage {
            .product-label-wrapper {
                display: none !important;
            }
        }
    }
}
.catalog-product-view {
    .product-page-static {
        display: block;
        margin: 20px 0;
        font-size: 14px;
        line-height: 24px;
        background: #f2f2f2;
        padding: 18px;
        p {
            color: #555555;
            font-size: 14px;
            line-height: 24px;
            margin-bottom: 10px;
            &:last-child {
                margin-bottom: 0;
            }
            > strong {
                color: #333333;
            }
            > span {
                color: #227ed1;
            }
        }
    }
    .product-info-main {
        .product-timer-wrapper {
            display: block;
            margin-bottom: 25px;
            > span {
                color: #333333;
                font-size: 16px;
                display: block;
                margin-bottom: 10px;
                font-weight: 500;
            }
            .timer-wrapper-outer {
                width: 100%;
                max-width: 250px;
                display: block;
                margin: 5px 0 20px;
                text-align: center;
                clear: both;
                * {
                    box-sizing: border-box;
                }
                .timer {
                    padding: 0;
                    display: block;
                    font-size: 0;
                    .timer-wrapper {
                        display: inline-block;
                        width: 25%;
                        padding: 0 10px 0 0;
                        .time {
                            font-size: 20px;
                            font-weight: 600;
                            color: #ffffff;
                            line-height: 48px;
                            background: #333333;
                            border-radius: 5px;
                        }
                        .text {
                            font-size: 13px;
                            color: #555555;
                            font-weight: 600;
                        }
                    }
                }
            }
        }
        .page-title-wrapper {
            h1 {
                &.page-title {
                    margin-bottom: 20px;
                }
            }
        }
        .product-reviews-summary {
            margin-bottom: 20px;
            .rating-summary {
                margin-right: 18px;
                .rating-result {
                    > span {
                        &:before {
                            color: #f7ba55;
                        }
                    }
                }
            }
            .reviews-actions {
                .action {
                    &.view {
                        margin-right: 18px;
                    }
                    &.view, &.add {
                        font-weight: 500;
                        color: #555555;
                        &:active, &:visited {
                            color: #555555;
                        }
                        &:hover {
                            color: #227ed1;
                        }
                    }
                }
            }
        }
        .product-info-price {
            border-bottom: 1px solid #e1e1e1;
            .price-box {
                display: block;
                width: auto;
                padding-bottom: 18px;
                .price-wrapper {
                    margin-bottom: 0;
                    .price {
                        font-size: 28px;
                        line-height: 28px;
                        font-weight: 600;
                        color: #227ed1;
                        display: block;
                    }
                }
                .normal-price {
                    display: inline-block;
                    vertical-align: bottom;
                    .price-container {
                        .price-label {
                            font-size: 16px;
                        }
                    }
                }
                .special-price {
                    display: inline-block;
                    vertical-align: bottom;
                    .price-label {
                        display: none;
                    }
                    .price-wrapper {
                        margin-bottom: 0;
                        .price {
                            font-size: 28px;
                            line-height: 28px;
                            font-weight: 600;
                            color: #227ed1;
                            display: block;
                        }
                    }
                }
                .old-price {
                    display: inline-block;
                    vertical-align: bottom;
                    margin-left: 10px;
                    .price-label {
                        display: none;
                    }
                    .price-wrapper {
                        .price {
                            font-size: 18px;
                            line-height: 24px;
                            display: block;
                            font-weight: 400;
                            color: #555555;
                            position: relative;
                            &:after {
                                content: "";
                                display: block;
                                height: 2px;
                                background: #999999;
                                left: 0;
                                top: 50%;
                                position: absolute;
                                width: 100%;
                            }
                        }
                    }
                }
                .price-from, .price-to {
                    .price-container {
                        display: inline-block;
                        vertical-align: bottom;
                        > .price-label {
                            font-size: 16px;
                            display: inline-block;
                            margin-bottom: 0;
                            margin-right: 5px;
                        }
                        > .price-wrapper  {
                            display: inline-block;
                        }
                    }
                    .old-price {
                        display: inline-block;
                        vertical-align: bottom;
                    }
                }
            }
            .product-info-stock-sku {
                display: block;
                text-align: left;
                padding-left: 0;
                padding-bottom: 12px;
                font-size: 14px;
                .stock {
                    display: inline-block;
                    &.available {
                        > span {
                            font-weight: 500;
                            text-transform: none;
                            color: #555555;
                            &:before {
                                content: "\f046";
                                font-family: "Fontawesome";
                                color: green;
                                font-weight: normal;
                                display: inline-block;
                                margin-right: 7px;
                                font-size: 16px;
                                vertical-align: middle;
                            }
                        }
                    }
                    &.unavailable {
                        > span {
                            color: red;
                            font-weight: 600;
                            text-transform: none;
                        }
                    }
                }
                .product {
                    &.attribute {
                        &.sku {
                            float: right;
                            .type {
                                color: #333333;
                                font-weight: 600;
                            }
                            .value {
                                color: #555555;
                            }
                        }
                    }
                }
            }
        }
        .product {
            &.attribute {
                &.overview {
                    margin: 18px 0 10px;
                    border-bottom: 1px solid #e1e1e1;
                    padding-bottom: 15px;
                    .type {
                        color: #227ed1;
                        font-weight: 500;
                        font-size: 16px;
                        margin-bottom: 10px;
                        display: block;
                    }
                    .value {
                        font-size: 15px;
                        color: #555555;
                        line-height: 24px;
                        display: block;
                        ul {
                            margin-bottom: 5px;
                        }
                    }
                }
            }
        }
        .product-add-form {
            padding-top: 10px;
            .product-options-wrapper {
                .swatch-opt {
                    margin: 0 0 20px;
                }
            }
            .box-tocart {
                .field {
                    &.qty {
                        margin: 0 20px 0 0;
                        display: inline-block;
                        vertical-align: bottom;
                        .label {
                            color: #333333;
                            font-weight: 600;
                            margin-bottom: 10px;
                        }
                        #qty-error {
                            display: inline-block;
                        }
                        #qty {
                            height: 52px;
                            border-color: #e1e1e1;
                            width: 60px;
                            color: #333333;
                        }
                        .qty-main {
                            border: 1px solid #e1e1e1;
                            display: inline-block;
                            display: inline-block;
                            height: 51px;
                            margin-left: -1px;
                            vertical-align: top;
                            width: 25px;
                            .qty-btn {
                                cursor: pointer;
                                display: inline-block;
                                font-size: 8px;
                                font-weight: normal;
                                height: 25px;
                                line-height: 25px;
                                text-align: center;
                                width: 100%;
                                &.qty-inc {
                                    border-bottom: 1px solid #e1e1e1;
                                }
                                &.qty-dec {
                                    line-height: 20px;
                                }
                                &:hover {
                                    color: #227ed1;
                                }
                            }
                        }
                    }
                }
                .actions {
                    margin: 0;
                    display: inline-block;
                    vertical-align: bottom;
                    .action {
                        &.tocart {
                            margin-right: 0;
                            width: auto;
                            margin-bottom: 0;
                            padding: 14px 25px;
                            font-weight: 600;
                        }
                    }
                }
            }
        }
        .product-social-links {
            .action {
                &.towishlist, &.tocompare, &.mailto {
                    color: #555555;
                    &:focus, &:active {
                        color: #555555;
                    }
                    &:hover {
                        color: #227ed1;
                    }
                }
            }
        }
        .bundle-actions {
            margin: 25px 0 25px;
            .action.primary.customize {
                padding: 14px 25px;
                font-weight: 600;
            }
        }
    }
    .product.data.items {
        > .item.content {
            .review-list {
                .review-item {
                    .review-ratings {
                        .rating-result {
                            > span {
                                &:before {
                                    color: #f7ba55;
                                }
                            }
                        }
                    }
                }
            }
            .review-add {
                .review-form {
                    .review-field-ratings {
                        .review-control-vote {
                            label {
                                &:before {
                                    color: #f7ba55;
                                }
                            }
                        }
                    }
                }
            }
        }
    }
    .bundle-options-container {
        clear: both;
        margin-bottom: 0;
        .product-add-form {
            float: left;
            width: 100%;
            border: 1px solid #e1e1e1;
            padding: 25px;
            box-sizing: border-box;
            margin-bottom: 40px;
            .bundle-options-wrapper {
                .product-options-wrapper {
                    width: 100%;
                    margin-bottom: 0;
                    fieldset.fieldset {
                        margin-bottom: 25px;
                        > .legend.title {
                            font-size: 24px;
                            font-weight: 500;
                        }
                    }
                }
                .product-options-bottom {
                    border-top: none;
                    margin: 0 0 15px;
                    padding-top: 15px;
                }
            }
            .block-bundle-summary {
                margin-top: 0;
                padding: 0;
                > .title {
                    border-bottom: 1px solid #e1e1e1;
                    margin-bottom: 18px;
                    padding-bottom: 12px;
                    > strong {
                        font-weight: 500;
                        line-height: 1.1;
                        font-size: 24px;
                        margin-top: 0;
                        margin-bottom: 0;
                    }
                }
                > .content {
                    .bundle-info {
                        .product-details {
                            .box-tocart {
                                margin-bottom: 25px;
                                .field {
                                    &.qty {
                                        margin: 0 20px 0 0;
                                        display: inline-block;
                                        vertical-align: bottom;
                                        .label {
                                            color: #333333;
                                            font-weight: 600;
                                            margin-bottom: 10px;
                                        }
                                        #qty-error {
                                            display: inline-block;
                                        }
                                        #qty {
                                            height: 52px;
                                            border-color: #e1e1e1;
                                            width: 60px;
                                            color: #333333;
                                        }
                                        .qty-main {
                                            border: 1px solid #e1e1e1;
                                            display: inline-block;
                                            display: inline-block;
                                            height: 51px;
                                            margin-left: -1px;
                                            vertical-align: top;
                                            width: 25px;
                                            .qty-btn {
                                                cursor: pointer;
                                                display: inline-block;
                                                font-size: 8px;
                                                font-weight: normal;
                                                height: 25px;
                                                line-height: 25px;
                                                text-align: center;
                                                width: 100%;
                                                &.qty-inc {
                                                    border-bottom: 1px solid #e1e1e1;
                                                }
                                                &.qty-dec {
                                                    line-height: 20px;
                                                }
                                                &:hover {
                                                    color: #227ed1;
                                                }
                                            }
                                        }
                                    }
                                }
                                .actions {
                                    margin: 0;
                                    display: inline-block;
                                    vertical-align: bottom;
                                    .action {
                                        &.tocart {
                                            margin-right: 0;
                                            width: auto;
                                            margin-bottom: 0;
                                            padding: 14px 25px;
                                            font-weight: 600;
                                        }
                                    }
                                }
                            }
                            .price-box {
                                .price-as-configured {
                                    .price {
                                        font-size: 28px;
                                        line-height: 28px;
                                        font-weight: 600;
                                        color: #227ed1;
                                        display: block;
                                    }
                                }
                            }
                        }
                    }
                    .bundle-summary {
                        margin-top: 25px;
                        > .subtitle {
                            margin-bottom: 18px;
                            padding-bottom: 12px;
                            font-weight: 500;
                            line-height: 1.1;
                            font-size: 24px;
                            margin-top: 0;
                        }
                    }
                }
            }
        }
    }
    &.page-product-grouped {
        .product-info-main {
            .product.attribute.overview {
                border-bottom: none;
                padding-bottom: 0;
            }
            .product-info-price {
                .price-box {
                    padding-bottom: 5px;
                }
            }
            .product-add-form {
                .table-wrapper.grouped {
                    margin-bottom: 25px;
                    margin-left: 0;
                    margin-right: 0;
                    > .table {
                        border: 1px solid #e1e1e1;
                        tr {
                            th, td {
                                padding: 10px 15px;
                            }
                            td {
                                .product-item-name {
                                    margin-top: 0;
                                }
                            }
                        }
                    }
                }
            }
        }
    }
    &.page-product-downloadable {
        .page-wrapper {
            .product-info-main {
                margin-bottom: 15px;
            }
            .product-add-form {
                clear: none;
                margin-bottom: 25px;
                float: right;
                width: 49%;
                .product-options-wrapper {
                    width: 100%;
                }
                .product-options-bottom {
                    width: 100%;
                    .box-tocart {
                        margin-bottom: 0;
                        .action.primary.tocart {
                            margin-bottom: 5px;
                            width: auto;
                            padding: 14px 25px;
                            font-weight: 600;
                        }
                    }
                }
            }
        }
    }
}
@media(max-width: 767px) {
    .catalog-product-view  {
        .block.related, .block.upsell {
            margin-bottom: 20px;
        }
        .column {
            &.main {
                padding-bottom: 0;
            }
        }
        .product-info-main {
            .product-social-links {
                margin: 0;
                text-align: left;
                .action {
                    &.mailto {
                        margin-top: 0;
                    }
                }
            }
            .product-reviews-summary {
                .reviews-actions {
                    font-size: 13px;
                }
            }
        }
        .product {
            &.media {
                margin-bottom: 10px;
            }
        }
        .product.info.detailed {
            margin-bottom: 15px;
            .product.data.items{
                margin-left: 0;
                margin-right: 0;
                margin-bottom: 0;
                border-bottom: none;
                .item.title {
                    > .switch {
                        border: 1px solid #e1e1e1;
                        margin-bottom: 0;
                        background: #f5f5f5;
                        margin-top: 10px;
                    }
                }
                .item.content {
                    padding: 15px;
                    border: 1px solid #e1e1e1;
                    margin-top: -1px;
                    box-sizing: border-box;
                }
            }
        }
        &.page-product-downloadable {
            .page-wrapper {
                .product-add-form {
                    margin-bottom: 0;
                    width: 100%;
                }
            }
        }
    }
}
@media(max-width: 639px) {
    .catalog-product-view {
        .product-info-main {
            .product-info-price {
                margin-left: 0;
                margin-right: 0;
                width: 100% !important;
                .price-box {
                    padding-left: 0;
                }
            }
        }
        &.page-product-downloadable {
            .page-wrapper {
                .product-info-price ~ :last-child::after {
                    border-bottom: 1px solid #e1e1e1;
                    margin: 15px 0 5px;
                }
            }
        }
    }
}
@media(max-width: 479px) {
    .minicart-wrapper {
        .block-minicart {
            .block-content {
                > .actions {
                    > .primary {
                        .action {
                            &.primary {
                                font-size: 16px;
                                padding: 12px 15px;
                            }
                        }
                    }
                }
                .minicart-widgets {
                    margin: 0;
                }
            }
        }
    }
    .catalog-product-view {
        .product {
            &.media {
                .product-labels {
                    .new-label {
                        padding: 4px 12px 4px;
                        font-size: 13px;
                    }
                    .sale-label {
                        padding: 4px 12px 4px;
                        font-size: 13px;
                    }
                    .new-label + .sale-label {
                        top: 35px;
                    }
                }
            }
        }
        .product-info-main {
            .page-title-wrapper {
                h1.page-title {
                    margin-bottom: 12px;
                }
            }
            .product-reviews-summary {
                margin-bottom: 16px;
            }
            .product-add-form {
                .box-tocart {
                    .actions {
                        .action.tocart {
                            width: auto;
                        }
                    }
                }
            }
            .product-timer-wrapper {
                .timer-wrapper-outer {
                    max-width: 240px;
                    .timer {
                        .timer-wrapper {
                            .time {
                                font-size: 18px;
                                line-height: 40px;
                            }
                        }
                    }
                }
            }
            .bundle-actions {
                .action.primary.customize {
                    padding: 14px 15px;
                    font-size: 16px;
                }
            }
        }
        .bundle-options-container {
            .product-add-form {
                padding: 20px;
                margin-bottom: 25px;
                .bundle-options-wrapper {
                    .product-options-wrapper {
                        fieldset.fieldset {
                            > .legend.title {
                                font-size: 18px;
                                margin-bottom: 12px;
                            }
                            > action.back {
                                margin-bottom: 20px;
                            }
                        }
                    }
                    .product-options-bottom {
                        margin: 0 0 5px;
                        padding-top: 5px;
                    }
                }
                .block-bundle-summary {
                    > .title {
                        margin-bottom: 15px;
                        padding-bottom: 8px;
                        > strong {
                            font-size: 18px;
                        }
                    }
                    > .content {
                        .bundle-info {
                            .product-details {
                                .box-tocart {
                                    margin-bottom: 10px;
                                    > .fieldset {
                                        margin-bottom: 10px;
                                    }
                                    .field.qty {
                                        margin: 0 10px 10px 0;
                                    }
                                    .actions {
                                        margin: 0 0 10px;
                                        .action.tocart {
                                            padding: 14px 10px;
                                            font-size: 16px;
                                        }
                                    }
                                }
                            }
                        }
                        .bundle-summary {
                            margin-top: 20px;
                            > .subtitle {
                                margin-bottom: 15px;
                                padding-bottom: 10px;
                                font-size: 18px;
                            }
                            .bundle.items > li {
                                margin-bottom: 10px;
                            }
                        }
                    }
                }
            }
        }
    }
}