/* Global Defaults
=====================================================================*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
    -webkit-tap-highlight-color: transparent;
    -webkit-touch-callout: none;
    -webkit-text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
}

/* Fix issue with Safari putting a styling on buttons */
input[type=submit], input[type=Reset], button {
    -webkit-appearance: none;
    -webkit-border-radius: 0;
}


/* Hide the number spinner... but we stillw ant to use it so we can activate the number pad on mobile. */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
    display: block;
}

body {
    line-height: 1;
}

ul, ol {
    margin-left: 2em;
}

ol {
    list-style-type: decimal;
}

nav ul, nav li {
    margin: 0;
    list-style: none;
    list-style-image: none;
}

b, strong, th {
    font-weight: bold;
}

em, i {
    font-style: italic;
}

blockquote, q {
    quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
    content: '';
    content: none;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

.clearfix:before, .clearfix:after {
    content: "\0020";
    display: block;
    height: 0;
    overflow: hidden;
}

.clearfix:after {
    clear: both;
}

.clearfix {
    zoom: 1;
}

a, a:active, a:visited {
    color: #265e6f;
    outline: 0;
}

a:hover {
    color: #265e6f;
}

/* Global Elements
=====================================================================*/

body {
    font-size: 15px;
    font-weight: 500;
    background: #fff;
    color: #232323;
    min-height: 100%;
    position: static;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: none;
}

body,
input,
select,
textarea {
    font-family: "Montserrat", sans-serif;
}

.skiplink,
.hide,
#tablet_mode {
    display: none;
}

.clear {
    clear: both;
}

img {
    max-width: 100%;
}

/* Start CSS Coding
=====================================================================*/
#nav-main li a span {
    font-family: 'Tangerine', cursive;
    font-weight: 700;
}

.button {
    cursor: pointer;
}

#form-search .input,
#form-newsletter .input,
#form-newsletter .button,
#nav-main li .mega-menu a span,
#form-product .input,
#form-product .button,
#form-main-cart .row-cart aside .input,
#form-main-cart .button-cart,
#form-main-cart .box-saved .input,
#form-main-cart .button,
#form-login .button,
#form-new .button,
.form-ui .button,
#form-delivery .button,
#form-payment .button,
#button-order-submit-section .button,
#form-survey .textarea,
#form-survey .button,
#form-register .button,
#form-result .button,
.form-teacher .button,
#form-filter .button,
.button-email-cart
#button-trial {
    font-family: 'Montserrat', sans-serif;
}

#featured h1 span,
#trending h2 span,
#title-recommended h2 span,
.shop-category h2 span,
#shop-best-seller h2 span,
#featured-product h2 span,
.box-product h2 span,
#title-review h2 span,
#title-cart-later h2 span,
#confidence-container h4 span,
#nav-main #nav-popup li.icon-collection a span,
#beginning-right h2,
#beginning-right h3,
.title-beginning h2 span,
.title-services em {
    font-family: 'EB Garamond', sans-serif;
}


.mobile,
.mobile-tablet,
#nav-main li.mobile {
    display: none;
    position: relative;
}

#main-header {
    margin: 0;
    height: 155px;
    border-bottom: 1px solid #ccc;
}

.home #main-header {
    margin: 0;
}

#promo-header {
    height: 55px;
    background: #265e6f;
}

#promo-header .wrapper {
    position: relative;
}

#promo-header h3 {
    font-size: 13px;
    color: #fff;
    text-transform: uppercase;
    position: absolute;
    left: 0;
    top: 20px;
    font-weight: 500;
}

#promo-header h3 a {
    color: #fff;
    text-decoration: none;
}

#promo-header p {
    color: #fff;
    text-align: center;
    font-weight: 500;
    padding: 20px 200px;
}

#header-main {
    height: 100px;
    position: relative;
}

.wrapper {
    width: 1440px;
    margin: 0 auto;
    position: relative;
}

#logo {
    width: 117px;
    height: 80px;
    float: left;
    background: url(../images/logo.jpg) no-repeat;
    background-size: 117px 80px;
    text-indent: -9999px;
    margin: 10px 30px 0 0;
}

#nav-main {
    list-style: none;
    margin: 35px 0 0 0;
    float: left;
}

#nav-main li {
    float: left;
    text-transform: uppercase;
    margin: 0 40px 0 0;
    line-height: 32px;
    font-weight: bold;
}

#nav-main li a, #nav-main li a:link, #nav-main li a:visited {
    color: #232323;
    text-decoration: none;
    display: block;
    padding: 0 0 0 40px;
}

#nav-main li a span {
    text-transform: none;
    font-size: 32px;
}

#nav-main li.icon-popup {
    background: url(../images/icon-menu-1.png) no-repeat;
    background-size: 34px 28px;
}

#nav-main li.icon-learn {
    background: url(../images/icon-menu-2.png) no-repeat;
    background-size: 34px 28px;
}

#nav-main li.icon-teach {
    background: url(../images/icon-menu-3.png) no-repeat;
    background-size: 34px 28px;
}

/* Adding rent icon to be similar to teach */
#nav-main li.icon-rent {
    background: url(../images/icon-rent.png) no-repeat;
    /* Removed background-size because it made it blurry */
}

#nav-main li:last-child a {
    padding-left: 0;
}
/*#nav-main li.icon-popup:hover,**/
#nav-main li.icon-popup.open {
    background: url(../images/icon-menu-1-hover.png) no-repeat;
    background-size: 34px 28px;
}

.mega-menu {
    position: absolute;
    top: 99px;
    left: 0;
    width: 100vw;
    padding: 0;
    z-index: 1000;
    border-bottom: 1px solid #ccc;
    background-color: #fff;
    left: 50%;
    transform: translateX(-50%);
    display: none;
}

#nav-main li .mega-menu a span {
    font-size: 15px;
    text-transform: uppercase;
    padding: 0 13px 0 0;
}

.mega-menu-wrapper {
    background: #fff;
    padding: 0 0 30px 0;
    /*border-bottom: 1px solid #ccc;*/
    width: 1440px;
    margin: 0 auto;
    height: 526px;
}
/*#nav-main li.icon-popup:hover .mega-menu {*/
#nav-main li.icon-popup.open .mega-menu {
    /*display: block;*/
}

#nav-popup {
    list-style: none;
    margin: 0;
    width: 210px;
    position: relative;
    padding-top:15px;
}

#nav-popup li {
    margin: 0;
    display: block;
    float: none;
}

#nav-popup li a, #nav-popup li a:link, #nav-popup li a:visited {
    padding: 10px 0;
    display: block;
    font-weight: 500;
}

#nav-popup li a:hover {
    color: #265e6f;
}
/*#nav-popup li.sec-popup a:hover span {*/
#nav-popup li.sec-popup.open a span {
    background: url(../images/icon-arrow-blue.png) no-repeat 100% 3px;
    background-size: 7px 12px;
}

.sec-mega-menu {
    width: 1225px;
    position: absolute;
    z-index: 10;
    top: 0;
    left: 210px;
    display: none;
}
/*#nav-popup li.sec-popup:hover .sec-mega-menu {*/
#nav-popup li.sec-popup.open .sec-mega-menu {
    display: block;
}

.sec-mega-menu-wrapper {
    /*width:450px;*/
    height: 485px;
    background: #fbf8f9;
    float: left;
    padding: 20px;
}

#nav-popup li .nav-sec-popup li a {
    padding: 5px 0;
    font-weight: 700;
}

.nav-sec-popup {
    width: 255px;
    float: left;
    margin: 0;
}

#nav-popup li .nav-sec-popup li.sale a {
    color: #c8332f;
}

#nav-popup li .nav-sec-popup.last li a {
    font-weight: 700;
}

#nav-popup li .sec-mega-menu a.nav-banner {
    padding: 0;
}

.sec-mega-menu img {
    float: right;
}

#search-popup {
    display: none;
}

/* #form-search */
#form-search {
    width: 450px;
    float: right;
    height: 25px;
    border-bottom: 1px solid #ccc;
    margin: 33px 0 0 0;
    position: relative; /* Need this to absolutely position elements inside. */
}

/* Switch to absolute positioning... Before on iPad the inputs could get bumped to the next line, and absolute positioning fixed this. */
#form-search .search-container,
#form-search .search-container span.twitter-typeahead {
    position: absolute;
    width: 450px;
    height: 25px;
} 

#form-search .tt-menu {
    width: 450px;
    border: 1px solid #ccc;
    padding: 15px;
    background: white;
    box-sizing: border-box;
    left: 0px;
}

#form-search .tt-suggestion {
    padding: 15px;
    cursor: pointer;
}

#form-search .tt-header {
    border-bottom: 1px solid #ccc;
    padding: 10px 15px 5px;
    font-size: 18px;
    margin: 20px 0 10px;
}

#form-search .tt-cursor {
    background: #dfdfdf;
}

#form-search input.tt-hint {
    color: #aaa;
}

#form-search a, #form-search a:visited {
    text-decoration: none;
    color: inherit;
}

#form-search .button {
    position: absolute;
    width: 25px;
    height: 25px;
    border: none;
    background: url(../images/icon-search.png) no-repeat 50% 2px;
    background-size: 20px 20px;
    text-indent: -9999px;
    outline: none;
}

/* Twitter typeahead uses overlapping inputs. Be sure they are placed in the same spot. */
#form-search .input {
    width: 415px;
    position: absolute;
    left: 35px !important;
    border: none;
    font-style: italic;
    font-size: 15px;
    color: #232323;
    outline: none;
    background-color: transparent;
    margin: 0px;
	padding: 0px;
	line-height: 25px;
}

/* Hide this text from the screen at all times. */
#button-search {
    text-indent: -9999px;
}
/* /#form-search */

#nav-login {
    list-style: none;
    margin: 0;
    position: absolute;
    z-index: 10;
    top: -40px;
    right: 0;
}

#nav-login li {
    float: left;
    margin: 0 0 0 25px;
}

#nav-login li a, #nav-login li a:link, #nav-login li a:visited {
    font-size: 14px;
    color: #fff;
    text-transform: uppercase;
    text-decoration: none;
    height: 23px;
    padding: 5px 0 0 35px;
    float: left;
}

#icon-login a {
    background: url(../images/icon-login.png) no-repeat;
    background-size: 26px 26px;
}

#icon-cart a {
    background: url(../images/icon-cart.png) no-repeat;
    background-size: 26px 26px;
}

#mini-cart {
    width: 448px;
    background: #fff;
    border: 1px solid #ccc;
    z-index: 1000;
    position: absolute;
    right: 0;
    display: none;
}

#mini-cart.show {
    display: block;
}

#list-mini-cart {
    list-style: none;
    margin: 0;
    padding: 15px;
}

#list-mini-cart li {
    border-bottom: 1px solid #ccc;
    padding: 20px 0;
}

#list-mini-cart li:last-child {
    border: none;
}

#list-mini-cart li img {
    width: 125px;
    float: left;
}

.content-mini-cart {
    width: 255px;
    float: right;
}

.content-mini-cart h3,
.content-mini-cart p {
    font-weight: 400;
    margin: 0 0 10px 0;
}

.content-mini-cart p strong,
.content-mini-cart p span {
    font-weight: 500;
}

.content-mini-cart p span {
    float: right;
}

#mini-cart-footer {
    border-top: 1px solid #ccc;
    padding: 25px;
    text-align: right;
}

.link-view-cart, .link-view-cart:link, .link-view-cart:visited {
    float: left;
    font-weight: 400;
    color: #232323;
    margin: 0 0 20px 0;
    text-decoration: none;
    border-bottom: 1px solid #232323;
}

#mini-cart-footer .mini-cart-footer-subtotal {
    text-transform: uppercase;
    margin: 0 0 20px 0;
}

/* Control the styling of the two checkout buttons. */
#button-checkout, 
.button-checkout-express {
    width: 100%;
    height: 60px;
    display: block;
    background: #265e6f;
    clear: both;
    border-radius: 2px;
    font-size: 18px;
    color: #fff;
    text-transform: uppercase;
    font-weight: 500;
    line-height: 60px;
    text-align: center;
    text-decoration: none;
    border: none;
    outline: none;
    cursor: pointer;
}
/* Overrides earlier button-checkout styling for the add to cart dialog. */
.add-to-cart-modal #button-checkout,
.add-to-cart-modal .button-checkout-express {
    width: 400px;
    margin: 0 auto 15px auto;
}
/* Override color on the second button to match the blog post color. */
.button-checkout-express, .button-checkout-express:link, .button-checkout-express:visited {
    background: #cde0e5 !important;
    color: black !important;
}
/* Fix spacing issue. */
.button-checkout-express {
    margin-top: 20px !important;
}
/* end style control */


.form-login-express#form-login {
    float: none;
    min-height: 200px;
    margin-left: auto;
    margin-right: auto;
    border-right: none;
    width: 500px;
}

.express-checkout-buttons {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.button-express-sign-in {
    margin-right: 0px !important;
}
/* end style for express checkout. */
#mini-cart:before {
    content: "";
    width: 40px;
    height: 20px;
    background: url(../images/arrow-minicart.png) no-repeat;
    background-size: 40px 20px;
    position: absolute;
    z-index: 10;
    top: -15px;
    right: 30px;
}

#hero-image {
    margin: 0 0 50px 0;
}

#featured {
    background: url(../images/back-featured.jpg);
    padding: 50px 50px 0 50px;
    position: relative;
    margin: 0 0 75px 0;
}

#featured h1 {
    font-size: 76px;
    text-transform: uppercase;
    position: absolute;
    right: 60px;
    top: 100px;
}

#featured h1 span {
    font-style: italic;
    text-transform: none;
}

#list-featured {
    list-style: none;
    margin: 0;
}

#list-featured li {
    border: 10px solid #f0ddcc;
    float: left;
    margin: 0 45px 45px 0;
    text-align:center;
    background:#fff;
}
#list-featured li:last-child {
    background:none;
}

#list-featured li a {
    width:100%;
    text-align:center;
}

#list-featured li img {
    margin: 0;
    vertical-align: top;
}

#list-featured li.small {
    margin-top: 200px;
}

#list-featured li:nth-child(3n) {
    margin-right: 0;
}

#list-featured li:last-child {
    border: none;
}

#trending {
    margin: 0 0 70px 0;
}

#trending h2 {
    font-size: 50px;
    text-transform: uppercase;
    text-align: center;
    margin: 0 0 45px 0;
}

#list-trending {
    list-style: none;
    margin: 0;
}

#list-trending li {
    margin: 0 20px 20px 0;
    float: left;
}

#list-trending li:nth-child(2n) {
    margin-right: 0;
}

#title-recommended {
    border-top: 1px solid #ccc;
}

#title-recommended h2 {
    font-size: 30px;
    text-transform: uppercase;
    float: left;
    background: #fff;
    margin: 0 0 10px 0;
    padding: 0 10px 0 0;
}

#title-recommended h2 span {
    font-style: italic;
    text-transform: none;
    font-size: 40px;
}

#title-recommended div {
    float: left;
    margin: -35px 0 0 0;
}

#title-recommended div p {
    font-size: 16px;
    text-transform: uppercase;
    clear: both;
}

.link-more, .link-more:link, .link-more:visited {
    float: right;
    background: #fff url(../images/icon-arrow.png) no-repeat 100% 3px;
    background-size: 7px 12px;
    font-size: 16px;
    text-transform: uppercase;
    text-decoration: underline;
    color: #232323;
    padding: 0 12px 0 10px;
    margin: -10px 0 0 0;
}

#recommended {
    margin: 0 0 70px 0;
}

#title-recommended {
    margin: 0 0 25px 0;
}

#list-recommended {
    list-style: none;
    margin: 0;
}

#list-recommended li {
    width: 330px;
    float: left;
    margin: 0 40px 0 0;
    text-align: center;
}

#list-recommended li h3 {
    font-weight: 400;
    margin: 0 0 10px 0;
}

#list-recommended li img {
    margin: 0 0 15px 0;
}

#list-recommended li h3 a {
    color: #333;
    text-decoration: none;
}

#list-recommended li .price {
    color: #333;
    font-weight: 500;
    margin: 0 0 10px 0;
}

#list-recommended li .star-rate {
    text-align: center;
}

.star-rate img {
    width: 23px;
    height: 23px;
}

#list-recommended li:last-child {
    margin-right: 0;
}

#connected {
    border-top: 1px solid #ccc;
    padding: 40px 0 0 0;
}

#connected h2 {
    font-size: 24px;
    text-transform: uppercase;
    text-align: center;
    margin: 0 0 50px 0;
}

#connected h2 span {
    font-size: 50px;
    font-weight:400;
}

#form-newsletter {
    width: 338px;
    height: 338px;
    background: #265e6f;
    float: left;
    margin: 0 30px 0 0;
    text-align: center;
}

#form-newsletter h3 {
    font-size: 18px;
    font-weight: bold;
    text-transform: uppercase;
    color: #fff;
    letter-spacing: 5px;
    margin: 45px 0 20px 0;
}

#form-newsletter h3 span {
    font-size: 40px;
    font-weight: 400;
    letter-spacing: 2px;
}

#form-newsletter p {
    color: #fff;
    margin: 0 50px 29px 50px;
}

#form-newsletter .input {
    width: 280px;
    height: 40px;
    background: #fff;
    border-radius: 30px;
    border: none;
    text-align: center;
    font-size: 15px;
    color: #232323;
    font-style: italic;
    font-weight: 400;
    margin: 0 0 20px 0;
    outline: none;
}

#form-newsletter .button {
    font-size: 18px;
    color: #fff;
    text-transform: uppercase;
    font-weight: bold;
    text-decoration: underline;
    background: none;
    text-align: center;
    border: none;
    outline: none;
}

#list-connected {
    list-style: none;
    margin: 0;
    float: left;
}

#list-connected li {
    width: 338px;
    height: 338px;
    margin: 0 29px 0 0;
    text-align: center;
    float: left;
    font-weight: bold;
    font-size: 13px;
}

#list-connected li img {
    margin: 0 0 10px 0;
}

#list-connected li p span {
    font-size: 17px;
    font-weight: 400;
}

#list-connected li p a, #list-connected li p a:link, #list-connected li p a:visited {
    font-size: 17px;
    font-weight: 400;
    color: #232323;
}

#list-connected li:last-child {
    margin-right: 0;
}

/* Category
=====================================================================*/
#breadcrumbs {
    list-style: none;
    margin: 20px 0;
}

#breadcrumbs li {
    float: left;
    font-weight: 400;
    margin: 0 10px 0 0;
}

#breadcrumbs li:after {
    content: "/";
    float: right;
    margin: 0 0 0 10px;
}

#breadcrumbs li a {
    text-decoration: underline;
    color: #232323;
}

#breadcrumbs li:last-child:after {
    display: none;
}

#category-intro {
    margin: 0 0 45px 0;
}

#category-intro.title-top {
    margin-top:25px;
}

#category-intro h1 {
    font-size: 60px;
    font-weight: 400;
    text-transform: uppercase;
    margin: 0 0 30px 0;
    text-align: center;
}

#promo-category {
    list-style: none;
    margin: 0;
}

#promo-category li {
    width: 465px;
    height: 465px;
    float: left;
    margin: 0 20px 0 0;
}

#promo-category.two-tile li {
    width: 710px;
}
#promo-category li:last-child {
    margin: 0;
}

.shop-category h2,
#shop-best-seller h2 {
    text-align: center;
    font-size: 50px;
    font-weight: 400;
    margin: 0 0 30px 0;
}

.shop-category h2 span,
#shop-best-seller h2 span {
    font-size: 30px;
    font-style: italic;
}

#list-category {
    list-style: none;
    margin: 0;
}

#list-category.display-flex {
    display: flex;
    justify-content: center;
}

#list-category li {
    width: 200px;
    height: 260px;
    float: left;
    margin: 0 47px 40px 0;
    text-align: center;
}

#list-category.brands li {
    height:150px;
}

#list-category.brands li a {
    height:100%;
}

#list-category.brands li img {
    border:none;
}

#list-category.brands {
    border-bottom: 1px solid #ccc;
    margin-bottom: 60px;
}

#list-category li h3 {
    text-transform: uppercase;
}

#list-category li h3 a {
    color: #333;
    text-decoration: none;
}

#list-category li img {
    border: 1px solid #ccc;
    margin: 0 0 10px 0;
}

#list-category.display-flex li:last-child {
    margin-right: 0;
}
#list-category:not(.display-flex) li:nth-child(6n) {
    margin-right: 0;
}
#list-best-seller {
    list-style: none;
    margin: 0;
    float: left;
    width: 720px;
}

#list-best-seller.full-grid {
    width:100%;
}

#list-best-seller li {
    width: 340px;
    height: 340px;
    float: left;
    margin: 0 20px 20px 0;
}

#best-seller {
    position: relative;
    float: left;
}

#link-best-seller {
    width: 325px;
    height: 60px;
    background: #fff;
    border-radius: 5px;
    position: absolute;
    z-index: 10;
    right: 30px;
    bottom: 30px;
    text-align: center;
    line-height: 60px;
    font-size: 18px;
    color: #333;
    text-transform: uppercase;
    letter-spacing: 1px;
    text-decoration: none;
}

#shop-best-seller {
    margin: 0 0 40px 0;
}

#title-category {
    text-align: center;
    font-size: 50px;
    font-weight: 400;
    background: url(../images/swirl.png) no-repeat 50% 100%;
    background-size: 330px 24px;
    padding: 0 0 25px 0;
}

/* SHAR decided to hide this. */
.search-results-container #title-category {
    display: none;
}

#sidebar {
    width: 240px;
    float: left;
}
#sidebar #slider-range {
    margin: 20px auto 10px;
}
#sidebar-nav {
    border: 1px solid #ccc;
}

#title-filter {
    background: #f0e7dd;
    padding: 15px 10px;
    position: relative;
}

#link-clear {
    font-size: 13px;
    color: #232323;
    text-transform: uppercase;
    text-decoration: none;
    position: absolute;
    right: 15px;
    top: 16px;
    padding: 0 14px 0 0;
    background: url(../images/icon-remove.png) no-repeat 100% 5px;
    background-size: 8px 8px;
}

.title-main-sidebar {
    outline: none;
    cursor: pointer;
    text-transform: uppercase;
    padding: 15px 0 15px 10px;
    border-bottom: 1px solid #ccc;
    background: url(../images/icon-plus.png) no-repeat right 15px top 17px;
    background-size: 15px 15px;
}

.title-main-sidebar.ui-state-active {
    background: url(../images/icon-minus.png) no-repeat right 15px top 17px;
    background-size: 15px 15px;
    border: none;
}

.title-main-sidebar em {
    font-style: normal;
    font-weight: 400;
}

.accordion-content {
    border-bottom: 1px solid #ccc;
    padding: 0 10px 10px 10px;
}

.accordion .title-main-sidebar:last-child,
.accordion .accordion-content:last-child,
.accordion .title-main-sidebar.ui-state-active:last-child {
    border: none;
}

.search-sidebar {
    height: 38px;
    border: 1px solid #ccc;
    border-radius: 3px;
    margin: 0 0 10px 0;
}

.form-sidebar .input {
    width: 165px;
    float: left;
    border: none;
    margin: 10px 0 0 5px;
    outline: none;
    font-size: 14px;
}

.form-sidebar .button {
    background: url(../images/icon-search.png) no-repeat 50% 5px;
    background-size: 20px 20px;
    width: 30px;
    height: 30px;
    border: none;
    text-indent: -9999px;
    opacity: 0.5;
    float: right;
    margin: 4px 5px 0 0;
}

.list-checkbox {
    list-style: none;
    margin: 0 0 10px 0;
    max-height: 300px;
    overflow-y: auto;
    position: relative;
}

.list-checkbox li {
    margin: 0 0 10px 0;
}

.list-checkbox li label {
    font-weight: 400;
    font-size: 15px;
    cursor:pointer;
}
.list-checkbox li .checkbox-container {
    height: auto;
}
.link-more-sidebar {
    font-size: 12px;
    font-weight: 500;
    text-transform: uppercase;
    background: url(../images/arrow-down.png) no-repeat 100% 6px;
    background-size: 9px 4px;
    padding: 0 12px 0 0;
}

#main-content {
    width: 1150px;
    float: right;
}

.toolbar {

    margin: 0 0 30px 0;
}

.link-dropdown, .link-dropdown:link, .link-dropdown:visited {
    width: 236px;
    height: 38px;
    border: 1px solid #ccc;
    border-radius: 3px;
    float: left;
    font-size: 15px;
    color: #232323;
    text-decoration: none;
    padding: 0 0 0 12px;
    font-weight: 400;
    line-height: 38px;
    background: url(../images/arrow-down-dark.png) no-repeat right 10px top 17px;
    background-size: 9px 4px;
}

select.link-dropdown {
    appearance: none;
    -moz-appearance: none;
    -webkit-appearance: none;
}

.group-filter {
    float: left;
}

.page-container {
    float: right;
    margin: 5px 0 0 0;
}

.page-container p {
    height: 25px;
    line-height: 25px;
    float: left;
    font-size: 15px;
}

.page-container p.show-pagination {
    border-right: 1px solid #858585;
    padding-right: 20px;
    margin: 0 20px 0 0;
}

.page-content {
    float: left;
    height: 25px;
    line-height: 25px;
}

.page-content strong {
    font-weight: normal;
    float: left;
}

.prev-disable {
    width: 14px;
    height: 24px;
    background: url(../images/page-prev.png) no-repeat;
    text-indent: -9999px;
    background-position: 0 -24px;
    float: left;
    margin: 0 3px;
}

.prev-page {
    width: 14px;
    height: 24px;
    background: url(../images/page-prev.png) no-repeat;
    text-indent: -9999px;
    float: left;
    margin: 0 3px;
}

.next-page {
    width: 14px;
    height: 24px;
    background: url(../images/page-next.png) no-repeat;
    text-indent: -9999px;
    float: left;
    margin: 0 3px;
}

.next-disable {
    width: 14px;
    height: 24px;
    background: url(../images/page-next.png) no-repeat;
    text-indent: -9999px;
    background-position: 0 -24px;
    float: left;
    margin: 0 3px;
}

.page-container .page-content .list-page {
    float: left;
    border: none;
    padding: 0;
    margin: 0 4px;
}

.list-product {
    list-style: none;
    margin: 0;
}

/* Individual product listings on search results. */
.list-product li {
    width: 330px;
    height: 590px;
    float: left;
    border-right: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    position: relative;
    padding: 30px 25px 0 25px;
    position: relative;
}

/* To match the original design, take the right border off of list items on the right edge. */
.list-product li:nth-child(3n),
.list-product li:last-child {
    border-right: none;
}

/* Take the bottom border off the last row. 
   This is a fancy way of doing this for rows with different number of items. */
.list-product li:nth-child(3n+1):nth-last-child(-n+3),
.list-product li:nth-child(3n+1):nth-last-child(-n+3) ~ li {
    border-bottom: none;
}

/* To match the original design, have a border at the top and bottom of the product search results container. */
.search-results-container #main-content #product-container {
    padding: 30px 0;
    border: 1px solid #ccc;
    border-left: none;
    border-right: none;
}

.button-quick-view, .button-quick-view:link, .button-quick-view:visited {
    display: none;
    width: 198px;
    height: 43px;
    border: 1px solid #ccc;
    border-radius: 2px;
    position: absolute;
    z-index: 100;
    top: 275px;
    left: 50%;
    margin-left: -99px;
    background: #fff;
    text-align: center;
    font-size: 13px;
    color: #232323;
    text-decoration: none;
    text-transform: uppercase;
    line-height: 43px;
}

.list-product li:hover .button-quick-view {
    display: block;
    opacity: .75;
}

.list-product li:hover .button-quick-view:hover {
    opacity:1;
}
.list-color {
    list-style: none;
    margin: 0 0 30px 0;
    height: 27px;
}

.list-product .list-color li a,
.list-color li a {
    width: 22px;
    height: 22px;
    border-radius: 14px;
    float: left;
    text-indent: -9999px;
}

.color-1 a {
    background: #252525;
}

.color-2 a {
    background: #9e0b0f;
}

.color-3 a {
    background: #003471;
}

.color-4 a {
    background: #998675;
}

.color-5 a {
    background: #b7b7b7;
}

.color-6 a {
    background: #fff;
}

.color-7 a {
    background: #f26c4f;
}

.color-8 a {
    background: #82ca9c;
}

.list-product .list-color li.active,
.list-color li.active {
    border: 1px solid #265e6f;
}

.list-product .list-color li.page-color {
    border: none;
    padding: 5px 0 0 0;
    float: left;
    width: 10px;
}

.list-product .list-color li.empty {
    border: none;
}

.list-product .list-color li .prev-color-disable {
    width: 10px;
    height: 17px;
    display: block;
    background-image: url(../images/page-prev.png);
    background-size: 10px 34px;
    text-indent: -9999px;
    background-position: 0 -17px;
    float: right;
}

.list-product .list-color li a.next-color {
    width: 10px;
    height: 17px;
    display: block;
    background-image: url(../images/page-next.png);
    background-size: 10px 34px;
    text-indent: -9999px;
    float: left;
}

.button-cart, .button-cart:link, .button-cart:visited, .button-cart:hover {
    width: 170px;
    height: 35px;
    float: left;
    background: #265e6f;
    border-radius: 2px;
    font-size: 13px;
    color: #fff;
    text-transform: uppercase;
    text-decoration: none;
    text-align: center;
    line-height: 35px;
    cursor: pointer;
}

.cart-option {
    margin: 0 0 30px 0;
}

.cart-option p {
    height: 35px;
    line-height: 35px;
    float: left;
    padding: 0 0 0 18px;
    color: #369;
    font-size: 13px;
    text-transform: uppercase;
}

.cart-option p.best {
    color: #c8332f;
}

.list-product-suggest a,
#carousel-additional a {
    color: #333;
    text-decoration: none;
}

.title-product {
    font-size: 15px;
    font-weight: 400;
    margin: 0 0 10px 0;
    line-height: 1.6;
    display: block;
    overflow: hidden;
    word-wrap:break-word;
}

.list-product .item-no {
    margin-bottom:13px;
    font-size:14px;
    font-weight:400;

}

#carousel-additional .title-product {
    height: 48px;
    width: 130px;
}

.product-suggest-container .title-product {
    height: 48px;
    width: 320px;
}

.cart .product-suggest-container .title-product {
    width: auto;
}

.title-product a, .title-product a:link, .title-product a:visited {
    color: #333;
    text-decoration: none;
    display: block;
}

.ensemble-image img {
    margin-bottom: 10px;
}

.list-product li .price {
    margin: 0 0 20px 0;
}

.list-product li .price a {
    color: #232323;
}

/* Cross out high prices. */
.pricetag.crossed-out {
    text-decoration: line-through;
    margin-right: 10px;
}
/* Show sale prices in red. */
.pricetag.crossed-out + .pricetag.sale-price {
    color: #c8332f;
}

.list-product li .star-rate span {
    font-size: 13px;
    font-weight: 400;
    float: left;
    margin-top:3px;
    width: 116px;
    height: 22px;
}
.list-product li .star-rate span:nth-child(2) {
    width:auto;
    margin-top:10px;
    margin-left:10px;
}

.list-product li .star-rate img {
    float: left;
}

.toolbar.bottom {
    border: none;
    margin-top: 30px;
}

#title-listing,
.title-listing {
    font-size: 30px;
    font-weight: 400;
    margin: 0 0 20px 0;
}



#featured-product {
    background: #fbf8f9;
    padding: 30px;
    margin: 0 0 40px 0;
}

#featured-product h2 {
    font-size: 18px;
    text-transform: uppercase;
    margin: 0 0 20px 0;
}

#featured-product h2 span {
    font-size: 26px;
    text-transform: none;
    font-style: italic;
}

#list-featured-product {
    list-style: none;
    margin: 0;
}

#list-featured-product li {
    width: 350px;
    float: left;
    margin: 0 18px 0 0;
}

#list-featured-product img {
    margin: 0 0 15px 0;
}

#list-featured-product li:last-child {
    margin-right: 0;
}

/* Product Detail
=====================================================================*/
#title-product-detail {
    font-size: 24px;
    font-weight: 400;
    padding: 5px 0 0 0;
    margin: 0 0 5px 0;
}

#title-product-detail a {
    text-decoration: none;
    color: #232323;
}

#title-product-detail a:hover {
    text-decoration: underline;
}

.notes {
    font-size: 13px;
    text-transform: uppercase;
    color: #c8332f;
    display: block;
}

#product-detail {
    position: relative;
}

#slideshow-product {
    width: 890px;
    margin: 30px 0 40px 0;
}
/* FlexSlider Necessary Styles
*********************************/
.custom-navigation {
    display: none;
}
.flexslider {
    margin: 0;
    padding: 0;
}

.flexslider .slides > li {
    display: none;
    -webkit-backface-visibility: hidden;
}
/* Hide the slides before the JS is loaded. Avoids image jumping */
.flexslider .slides img {
    width: 100%;
    display: block;
}

.flex-pauseplay span {
    text-transform: capitalize;
}

/* Clearfix for the .slides element */
.slides:after {
    content: ".";
    display: block;
    clear: both;
    visibility: hidden;
    line-height: 0;
    height: 0;
}

html[xmlns] .slides {
    display: block;
}

* html .slides {
    height: 1%;
}

/* No JavaScript Fallback */
/* If you are not using another script, such as Modernizr, make sure you
 * include js that eliminates this class on page load */
.no-js .slides > li:first-child {
    display: block;
}


/* FlexSlider Default Theme
*********************************/
.flex-viewport {
    max-height: 2000px;
    -webkit-transition: all 1s ease;
    -moz-transition: all 1s ease;
    transition: all 1s ease;
}

.loading .flex-viewport {
    max-height: 300px;
}

.flexslider .slides {
    zoom: 1;
}

.carousel li {
    margin-right: 5px
}


#slideshow-detail .slides {
    list-style: none;
    margin: 0;
}

#slideshow-detail .flex-control-nav,
#slideshow-detail .flex-direction-nav {
    display: none;
}

#carousel .slides {
    list-style: none;
    margin: 0;
}

#slider-product .flex-direction-nav {
    display: none;
}

#carousel {
    width: 810px;
    height: 120px;
    margin: 0 0 0 40px;
    position: relative;
}

#carousel .slides li {
    padding: 0 10px;
    position: relative;
}

#carousel .slides li a {
    height: 119px;
    width: 119px;
    overflow: hidden;
    display: table-cell;
    vertical-align: middle;
    border: 2px solid #fff !important;
    border-radius: 2px;
    box-sizing: border-box;
    background-color: #fff;
}

#carousel .slides li a.show-magic360,
#carousel .slides li a.show-video,
#carousel .slides li a.show-sound-clips {
    border: 1px solid #ccc !important;
}

#carousel .slides li a.mz-thumb-selected {
    border: 2px solid #265e6f !important;
    -webkit-filter: brightness(100%);
    filter: brightness(100%);
}

#carousel .slides li a:not(.mz-thumb-selected):hover {
    -webkit-filter: brightness(90%);
    filter: brightness(90%);
}
body .mz-thumb-selected img {
    -webkit-filter: brightness(100%);
    filter: brightness(100%); /* Remove gray */
}

#carousel .flex-direction-nav {
    list-style: none;
    margin: 0;
}

#carousel .mz-thumb img {
    box-shadow: none;
}

#carousel .flex-next.flex-disabled,
#carousel .flex-prev.flex-disabled,
#carousel-additional .flex-next.flex-disabled,
#carousel-additional .flex-prev.flex-disabled,
#carousel-additional-popup .flex-next.flex-disabled,
#carousel-additional-popup .flex-prev.flex-disabled {
    display:  none;
}

.icon-camera {
    width: 32px;
    height: 26px;
    background: url(../images/icon-camera.png) no-repeat;
    background-size: 32px 26px;
    position: absolute;
    z-index: 10;
    left: 50%;
    margin-left: -16px;
    top: 50%;
    margin-top: -13px;
}

#carousel .slides li.border img {
    border: 1px solid #ccc;
}

#carousel .flex-control-nav {
    display: none;
}

#carousel .flex-direction-nav {
    list-style: none;
    margin: 0;
}

#carousel .flex-prev {
    position: absolute;
    z-index: 10;
    width: 14px;
    height: 24px;
    background: url(../images/page-prev.png) no-repeat;
    left: -30px;
    top: 50px;
    text-indent: -9999px;
}

#carousel .flex-next {
    position: absolute;
    z-index: 10;
    width: 14px;
    height: 24px;
    background: url(../images/page-next.png) no-repeat;
    right: -40px;
    top: 50px;
    text-indent: -9999px;
}

#product-info {
    width: 510px;
    position: absolute;
    z-index: 10;
    right: 0;
    top: 50px;
}

#product-info .star-rate {
    margin: 0 0 25px 0;
}

#product-info .star-rate img {
    float: left;
}

#product-info .star-rate span {
    font-size: 13px;
    font-weight: 400;
    float: left;
    margin: 4px 0 0 5px;
}

#product-info .star-rate span a {
    color: #232323;
    text-decoration: none;
}

#product-info .price {
    font-size: 30px;
    margin: 0 0 10px 0;
}

#product-info .list-price, 
#produce-info .sale {
    margin: 0 0 10px 0;
}

.item-code {
    font-size: 15px;
    font-weight: 400;
    margin: 0 0 25px 0;
    display: block;
}

.text-option {
    font-weight: 400;
    margin: 0 0 15px 0;
}

.list-size {
    list-style: none;
    margin: 0 0 30px 0;
}

.list-size li a, .list-size li a:link, .list-size li a:visited {
    display: block;
    height: 38px;
    text-align: center;
    font-size: 15px;
    color: #232323;
    text-decoration: none;
    line-height: 38px;
}

.list-size li.active {
    border: 1px solid #265e6f;
}

#form-product {
    border-bottom: 1px solid #ccc;
    padding: 0 0 35px 0;
    margin: 0 0 25px 0;
}

#form-product .input {
    width: 56px;
    height: 56px;
    border: 1px solid #ccc;
    border-radius: 2px;
    font-size: 18px;
    text-align: center;
}

#form-product .button,
#button-trial {
    width: 200px;
    height: 60px;
    border: none;
    border-radius: 2px;
    background: #265e6f;
    font-size: 18px;
    text-transform: uppercase;
    color: #fff;
    margin: 0 0 0 15px;
}

#button-trial {
    background:#fff;
    border:2px solid #265e6f;
    color:#26536f;
    display:flex;
    box-sizing:border-box;
    text-align:center;
    justify-content:center;
    flex-direction:column;
    text-decoration:none;
    cursor:pointer;
}

#form-product .button:disabled,
#form-login-container .button:disabled,
.submit-review:disabled,
.checkout-button.pulse,
.button.pulse,
.button-apply.pulse,
#button-checkout.pulse,
.add-to-cart.pulse,
.button-cart.quickview,
.button-cart.pulse,
.button-email-cart.pulse {
    animation: pulsate 2s ease-out;
    animation-iteration-count: infinite;
    opacity: 1;
    background: #163842;
}
.button-checkout-express.pulse {
    animation: pulsateExpress 2s ease-out;
    animation-iteration-count: infinite;
    opacity: 1;
    background: #cde0e5;
}
@-webkit-keyframes pulsate {
    0% {
        background-color: #163842;
        opacity: 1;
    }

    50% {
        background-color: #265e6f;
        opacity: 1;
    }

    100% {
        background-color: #163842;
        opacity: 1;
    }
}
@-webkit-keyframes pulsateExpress {
    0% {
        background-color: #cde0e5;
        opacity: 1;
    }

    50% {
        background-color: #e0f8ff;
        opacity: 1;
    }

    100% {
        background-color: #cde0e5;
        opacity: 1;
    }
}

.add-to-cart-buttons {
    display:flex;
    justify-content:flex-start;
    margin-top: 30px;
}

#additional-product h2 {
    margin: 0 0 15px 0;
}

#carousel-additional {
    margin: 0 auto;
    width: 450px;
}

.list-additional {
    list-style: none;
    margin: 0;
}

.list-additional li {
    /*height:205px;*/
    position: relative;
    margin: 0;
}

.wrapper-additional {
    padding: 0 10px;
}

#additional-product {
    padding: 0 0 30px 0;
    border-bottom: 1px solid #ccc;
    margin-bottom: 0 0 30px 0;
}

#additional-product h2 {
    font-size: 18px;
    font-weight: 400;
}

#additional-product .price {
    font-size: 15px;
    font-weight: 500;
    /*position: absolute;*/
    left: 10px;
    bottom: 0;
}

#carousel-additional {
    position: relative;
}

#carousel-additional .flex-control-nav {
    display: none;
}

#carousel-additional .flex-prev {
    position: absolute;
    z-index: 10;
    width: 14px;
    height: 24px;
    background: url(../images/page-prev.png) no-repeat;
    left: -30px;
    top: 50px;
    text-indent: -9999px;
}

#carousel-additional .flex-next {
    position: absolute;
    z-index: 10;
    width: 14px;
    height: 24px;
    background: url(../images/page-next.png) no-repeat;
    right: -30px;
    top: 50px;
    text-indent: -9999px;
}

#carousel-additional .flex-direction-nav {
    list-style: none;
    margin: 0;
}

#free-shipping {
    padding: 30px 0;
}

#free-shipping h2 {
    background: url(../images/icon-free.png) no-repeat;
    background-size: 40px 40px;
    padding: 8px 0 8px 50px;
    font-size: 18px;
    text-transform: uppercase;
    font-weight: 500;
    color: #c8332f;
    margin: 0 0 10px 0;
}

#free-shipping h3 {
    font-size: 13px;
    text-transform: uppercase;
    font-weight: 500;
    margin: 0 0 5px 0;
}

#free-shipping p {
    font-weight: 400;
}

.free-shipping-disclaimer {
    display: inline-block;
    color: #c8332f;
    line-height: 1.8em;
    font-size: .66em;
    font-style: italic;

}

#product-description {
    padding: 20px;
    background: #fbf8f9;
    width: 850px;
    margin: 0 0 50px 0;
}

#nav-tabs-additional,
#nav-tabs-review {
    list-style: none;
    margin: 10px 0 20px 0;
    padding: 0 20px;
    height: 40px;
}

#nav-tabs-additional li,
#nav-tabs-review li {
    float: left;
    height: 40px;
    margin: 0 5px;
}

#nav-tabs-additional li a, #nav-tabs-additional li a:link, #nav-tabs-additional li a:visited,
#nav-tabs-review li a, #nav-tabs-review li a:link, #nav-tabs-review li a:visited {
    font-size: 13px;
    color: #232323;
    font-weight: bold;
    text-transform: uppercase;
    text-decoration: none;
    padding: 10px 10px 15px 10px;
    height: 15px;
}

#nav-tabs-additional li.ui-tabs-active a,
#nav-tabs-review li a.selected {
    background: url(../images/hover-tabs.png) no-repeat 50% 100%;
    background-size: 150px 11px;
    color: #265e6f;
}

#tabs-additional .ui-tabs-panel {
    background: #fff;
    padding: 20px 40px;
}

.box-product h2 {
    text-align: center;
    font-size: 50px;
    margin: 0 0 15px 0;
    font-weight: 400;
}

.box-product h2 span {
    font-size: 30px;
    font-style: italic;
}

.list-product-suggest {
    list-style: none;
    margin: 0;
    border-top: 1px solid #ccc;
    padding: 40px 0;
}

.list-product-suggest li {
    width: 320px;
    float: left;
    margin: 0 50px 0 0;
}

.list-product-suggest li img {
    margin: 0 0 15px 0;
}

.list-product-suggest li:last-child {
    margin: 0;
}

#title-review,
#title-question {
    border-bottom: 1px solid #ccc;
    margin: 0 0 15px 0;
}

#title-review h2,
#title-question h2 {
    float: left;
    font-size: 30px;
    font-weight: normal;
    background: #fff;
    text-transform: uppercase;
    padding: 0 7px 0 0;
    margin: 0 0 -14px 0;
}

#title-review h2 span {
    font-weight: 500;
    font-style: italic;
    font-size: 40px;
}

#review,
#question {
   margin: 0px;
}



#review-header,
#question-header {
    background: #f4eee7;
    padding: 20px;
    margin: 0 0 0px 0;
}

/* Put some space anytime a new heading starts.*/
#review h2,
#question h2,
h2.product-suggest-title {
    margin-top: 50px !important;
}

.button-review, .button-review:link, .button-review:visited {
    width: 200px;
    height: 40px;
    float: left;
    background: #265e6f;
    border-radius: 2px;
    font-size: 15px;
    color: #fff;
    text-transform: uppercase;
    text-decoration: none;
    text-align: center;
    line-height: 40px;
    margin: 0 20px 0 0;
}

#review-header .star-rate {
    float: left;
    margin: 7px 0 0 0;
}

#review-header .star-rate img {
    float: left;
}

#review-header .star-rate span {
    float: left;
    font-weight: 400;
    margin: 3px 0 0 15px;
}

#nav-tabs-review {
    margin-left: 300px;
}

#nav-tabs-review li {
    margin: 0 30px 0 0;
}

.box-review {
    padding: 40px 0;
    border-bottom: 1px solid #ccc;
}

.review-bio {
    float: left;
    width: 200px;
}

.review-bio h4 {
    font-size: 18px;
    margin: 0 0 20px 0;
}

.review-bio ul {
    list-style: none;
    margin: 0;
    border-bottom: 1px solid #ccc;
    padding: 0 0 15px 0;
    margin: 0 0 20px 0;
}

.review-bio ul li {
    margin: 0 0 8px 0;
    font-weight: 400;
}

.review-bio p {
    font-size: 13px;
    text-transform: uppercase;
    margin: 0 0 20px 0;
}

.review-detail {
    width: 1130px;
    float: right;
}

.review-detail .star-rate a,
.review-detail .star-rate img {
    float: left;
}

.review-detail .star-rate a, .review-detail .star-rate a:link, .review-detail .star-rate a:visited {
    color: #232323;
    font-size: 13px;
    font-weight: 400;
    float: left;
    text-decoration: none;
    margin: 5px 0 0 15px;
}

.static-page h3.title-review {
    margin-bottom: 0;
}

.link-review, .link-review:link, .link-review:visited {
    color: #232323;
    font-weight: bold;
    text-decoration: underline;
}

.response-review {
    background: #fbf8f9;
    padding: 25px 30px;
    margin: 0 0 15px 0;
}

.response-review h4 {
    font-size: 18px;
    margin: 0 0 5px 0;
}

.response-review p {
    font-style: italic;
    font-weight: 400;
    line-height: 1.7;
}

.helpful h4 {
    font-size: 18px;
    float: left;
    margin: 0 15px 0 0;
}

.helpful p {
    font-weight: 400;
}

.helpful p a, .helpful p a:link, .helpful p a:visited {
    color: #232323;
}
.button-more, .button-more:link, .button-more:visited {
    width: 148px;
    height: 38px;
    float: left;
    border: 1px solid #b5b5b5;
    border-radius: 2px;
    text-align: center;
    line-height: 38px;
    color: #232323;
    text-decoration: none;
    text-transform: uppercase;
    margin: 0 15px 0 0;
}

.rentals-accordion .button-more {
    width:auto;
    display:inline-block;
    padding:0 10px;
    float:none;
}

#review-footer p,
#question-footer p {
    float: left;
    margin: 10px 0 0 0;
    font-weight: 400;
}

.static-page h3.title-question {
    font-size: 18px;
    margin: 0 0 20px 0;
}

#question-header {
    margin: 0;
}

/* Popup/modals
=====================================================================*/

/* Control the styling of the add to cart modal and all modals/popups. */
#popup-cart, .popup, .modal {
    position: fixed;
    background: rgba(0,0,0,0.7);
    width: 100%;
    height: 100%;
    /* Put the modal over the live chat button, which is in the 100,000 range. */
    z-index: 200000;
    /* We want scrollbars to kick in if the modal doesn't fit on the screen. */
    overflow: auto;
    box-sizing: border-box;
    /* Use display flex to help perfectly align vertically and horizontally. */
    display: flex;
    /* Trick for IE vertical centering to work. */
    flex-direction: column;
}

/* Set the styling inside those modals. */
#container-popup-cart, .popup-container, .modal-container, .modal-content {
    width: 800px;
    padding-bottom: 5px;
    background: #fff;
    /* With display flex, you can vertically align with auto margins on top and bottom (except for IE). */
    margin: auto;
    position: relative;
}
.modal-content-express {
    width: 600px;
}
#text-shopping-cart {
    margin-bottom: 20px;
}
#container-popup-cart.beginning-violin #modal-content {
    overflow: auto;
    height: 700px;
}

#container-popup-cart h1 {
    font-size: 30px;
    font-weight: 400;
    text-transform: uppercase;
    padding: 20px 0 0 20px;
}

#box-added-cart {
    border-bottom: 1px solid #ccc;
    padding: 25px 20px;
    margin: 0 0 20px 0;
}

#box-added-cart img {
    width: 135px;
    float: left;
    margin: 0 10px 0 0;
}

#content-added-cart {
    width: 600px;
    float: left;
}

#content-added-cart h3 {
    font-weight: 400;
    margin: 0 0 15px 0;
}

#content-added-cart p {
    margin: 0 0 15px 0;
    font-weight: 400;
}

#button-checkout, #button-checkout:link, #button-checkout:visited {
    width: 400px;
    max-width: 100%;
    height: 60px;
    background: #265e6f;
    border-radius: 2px;
    color: #fff;
    font-size: 18px;
    line-height: 60px;
    text-decoration: none;
    margin: 0 auto 15px auto;
}

/* Fix issue with the mini cart express checkout button */
#button-checkout-express {
    width: 400px;
    max-width: 100%;
    height: 60px;
    margin: 0 auto 15px auto;
}

/*=== Additional popup ===*/
#additional-popup {
    border-top: 1px solid #ccc;
    padding: 10px 0 0 0;
    margin: 30px 20px 0 20px;
}

#additional-popup h2 {
    font-size: 18px;
    font-weight: 400;
}

#carousel-additional-popup {
    width: 650px;
    position: relative;
    margin: 0 auto;
}

#carousel-additional-popup .list-additional li {
    height: 300px;
    padding: 0 10px;
    margin: 0;
}

#carousel-additional-popup .flex-control-nav {
    display: none;
}

#carousel-additional-popup .flex-prev {
    position: absolute;
    z-index: 10;
    width: 14px;
    height: 24px;
    background: url(../images/page-prev.png) no-repeat;
    left: -30px;
    top: 65px;
    text-indent: -9999px;
}

#carousel-additional-popup .flex-next {
    position: absolute;
    z-index: 10;
    width: 14px;
    height: 24px;
    background: url(../images/page-next.png) no-repeat;
    right: -30px;
    top: 65px;
    text-indent: -9999px;
}

#carousel-additional-popup .flex-direction-nav {
    list-style: none;
    margin: 0;
}

#button-close-popup, .button-close-popup {
    width: 25px;
    height: 25px;
    background: url(../images/icon-close-popup.png) no-repeat;
    background-size: 25px 25px;
    top: 20px;
    right: 20px;
    position: absolute;
    text-indent: -9999px;
    z-index:99999;
    background-color: none;
    border: none;
    outline: none;
    cursor: pointer;
}

.modal-head .button-close-popup {
    position: relative;
    float: right;
    border: none;
    cursor: pointer;
}

/* Yes/no popup styles. */
#modal-yes-no {
    text-align: center;
}

/* Big round warning graphic similar to Bootstrap plugins use */
#modal-yes-no .warning-graphic {
    border: 3px solid #265e6f;
    color: #265e6f;
    background-color: white;
    width: 100px;
    height: 100px;
    line-height: 100px;
    border-radius: 50%;
    text-align: center;
    font-size: 64px;
    margin-left: auto;
    margin-right: auto;
    margin-top: 40px;
    margin-bottom: 20px;
}

/* Make the title like other headings on the page */
#modal-yes-no .modal-title {
    font-size: 24px;
    text-transform: uppercase;
    margin-bottom: 0px;
    line-height: 40px;
}

/* Space out the content */
#modal-yes-no .modal-content, #modal-yes-no .button   {
    margin-bottom: 40px;
}

/* Space out the buttons */
#modal-yes-no .button {
    /* Make it the same height as other buttons. */
    height: 60px;
    /* Use their primary button color on the yes button.*/
    background-color: #265e6f;
    color: white;
    width: 200px;
    margin-left: 20px;
    margin-right: 20px;
    text-transform: uppercase;
    border: none;
    font-size: 18px;
}
#modal-yes-no .button-no {
    /* Use their alternate light blue color on the no button. */
    background-color: rgb(205,224,229);
    color: black;
}
#modal-yes-no #message p {
    margin-bottom: 20px;
}
/* end yes/no popup styles. */

/* Shopping Cart
=====================================================================*/
#main-title {
    font-size: 30px;
    font-weight: 400;
    text-transform: uppercase;
    margin: 0 0 35px 0;
}

#cart-content {
    padding: 30px 0 0 0;
    min-height: 1200px;
}

#cart-content.empty-cart {
    min-height: 500px;
}

#cart-sidebar {
    width: 425px;
}

#title-table-cart {
    border-bottom: 1px solid #ccc;
    font-size: 13px;
    text-transform: uppercase;
    font-weight: bold;
    padding: 0 0 7px 0;
}

#title-table-cart .title-description {
    width: 495px;
    float: left;
    padding: 0 0 0 200px;
}

#title-table-cart .title-price {
    width: 160px;
    float: left;
}

#title-table-cart .title-quantity {
    width: 80px;
    float: left;
}

.row-cart {
    padding: 30px 0;
    border-bottom: 1px solid #ccc;
}

.image-cart {
    float: left;
    width: 200px;
    height: auto;
    display: block;
}
.includes {
    margin-bottom:15px;
    font-weight:400;
}
.included-item {
    margin-left:15px;
}

.mini-cart-content {
    float: left;
    width: 495px;
}

.mini-cart-content h3,
.mini-cart-content p {
    font-weight: 400;
    margin: 0 0 20px 0;
}

.mini-cart-content h3 {
    margin: 0 0 10px 0;
    line-height: 1.5em;
}

.price-cart {
    width: 160px;
    float: left;
    font-weight: 500;
}

.row-cart aside {
    width: 80px;
    float: left;
    text-align: center;
}

.quantity-label {
    display: none;
}

#form-main-cart {
    position: relative;
    /* Used for two column layout on the cart page. */
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-top: 30px;
    margin-bottom: 30px;
}

#form-main-cart .column {
    margin: 0;
    padding: 0;
}


#form-main-cart .row-cart aside .input {
    width: 58px;
    height: 58px;
    border: 1px solid #ccc;
    border-radius: 2px;
    font-size: 18px;
    text-align: center;
    margin: 0 0 10px 0;
}

#form-main-cart .row-cart aside a, #form-main-cart .row-cart aside a:link, #form-main-cart .row-cart aside a:visited {
    color: #232323;
    font-weight: 400;
}

.cart-edit {
    list-style: none;
    margin: 0;
    padding: 45px 0 0 0;
}

.cart-edit li {
    float: left;
    padding: 0 20px 0 0;
    margin: 0 20px 0 0;
    border-right: 1px solid #232323;
}

.cart-edit li:last-child {
    border: none;
    margin-right: 0;
}

.cart-edit li a, .cart-edit li a:link, .cart-edit li a:visited {
    font-size: 15px;
    color: #232323;
    font-weight: 400;
}
/* The underline should be removed for the primary link in this section... but not the cart edit links. */
.cart-edit li a, .cart-edit li a:link, .cart-edit li a:visited {
    text-decoration: underline;
}

#cart-later {
    padding: 30px;
    background: #fbf8f9;
    margin: 0 0 30px 0;
}

#cart-container {
    margin: 0 0 70px 0;
}

#title-cart-later {
    border-bottom: 1px solid #ccc;
    margin: 0 0 20px 0;
}

#title-cart-later h2 {
    font-size: 24px;
    float: left;
    background: #fbf8f9;
    margin: 0 0 -9px 0;
    text-transform: uppercase;
    padding: 0 5px 0 0;
}

#title-cart-later h2 span {
    font-size: 34px;
    font-style: italic;
    text-transform: none;
}

.box-saved {
    border-bottom: 1px solid #ccc;
    padding: 30px 0;
}

.image-saved {
    width: 170px;
    float: left;
    margin: 0 30px 0 0;
}

.box-saved .mini-cart-content {
    width: 445px;
}

.mini-cart-content a {
    /* The customer does not want this to look like a link. */
    text-decoration: none;
    color: rgb(32, 32, 32);
}

#form-main-cart .button-cart {
    width: 150px;
    height: 40px;
    background: #265e6f;
    border-radius: 2px;
    border: none;
    margin: -8px 0 0 0;
    float: left;
}

.price-saved {
    font-weight: 500;
    float: left;
}

#form-main-cart .box-saved .input {
    width: 38px;
    height: 38px;
    border: 1px solid #ccc;
    border-radius: 2px;
    font-size: 18px;
    text-align: center;
    float: right;
    margin: -10px 0 0 0;
}

#cart-later .box-saved:last-child {
    border: none;
    padding-bottom: 0;
}

#order-summary {
    background: #fbf8f9;
    padding: 30px;
    margin: 0 0 20px 0;
}

#order-summary h4 {
    font-size: 24px;
    text-transform: uppercase;
    font-weight: 500;
    margin: 0 0 25px 0;
    text-align: center;
}

.row-summary {
    margin: 0;
    padding: 0;
    font-size: 18px;
    line-height: 2em;
    font-weight: 400;
}

.row-summary span {
    float: left;
}

.row-summary strong {
    float: right;
}

.row-summary strong.free-shipping {
    text-transform: uppercase;
    color: #c8332f;
}

hr.row-divider {
    border: none;
    background-color: #ccc;
    color: #ccc;
    height: 1px;
}

.link-help, .link-help:link, .link-help:visited {
    
    width: 15px;
    height: 15px;
    border-radius: 10px;
    text-decoration: none;
    text-align: center;
    line-height: 15px;
    background: #232323;
    color: #fff;
    margin: 3px 0 0 5px;
    font-size: 12px;
    font-weight: bold;
    display:inline-block;
}

.row-summary .link-help {
    margin-top: 10px;
}


.row-summary.total span {
    font-weight: 500;
    text-transform: uppercase;
}

#text-free-shipping {
    margin: 20px 0;
    height: 60px;
    border-radius: 2px;
    text-transform: uppercase;
    color: #c8332f;
    font-weight: 500;
    padding: 5px 0 0 48px;
    background: #fff url(../images/icon-free.png) no-repeat 20px 17px;
    background-size: 27px 27px;
    text-align: center;
    display: flex;
    vertical-align: middle;
    flex-direction: column;
    justify-content: center;
}

#form-main-cart .button {
    width: 100%;
    height: 60px;
    border: none;
    background: #265e6f;
    border-radius: 2px;
    font-weight: 500;
    font-size: 18px;
    text-transform: uppercase;
    color: #fff;
    display: block;
    line-height: 60px;
    text-align: center;
    text-decoration: none;
}

#confidence-container {
    border: 1px solid #ccc;
    padding: 40px 40px 150px 40px;
    background: url(../images/confidence.jpg) no-repeat 50% 100%;
}

#confidence-container h4 {
    text-align: center;
    text-transform: uppercase;
    padding: 0 0 30px 0;
    background: url(../images/hover-tabs.png) no-repeat 50% 100%;
    margin: 0 0 20px 0;
}

#confidence-container h4 span {
    font-size: 30px;
    color: #265e6f;
}

#confidence-container p {
    text-transform: center;
    font-weight: 400;
    margin: 0 20px;
    text-align: center;
    line-height: 1.7;
}

.box-product.cart {
    width: 935px;
}

.box-product.cart .list-product-suggest li {
    width: 215px;
    margin: 0 25px 0 0;
}

.box-product.cart .list-product-suggest li:last-child {
    margin: 0;
}

/* Checkout
=====================================================================*/
#main-header.checkout {
    height: 100px;
}

#nav-checkout {
    float: right;
    list-style: none;
    margin: 35px 0 0 0;
}

#nav-checkout li {
    font-size: 12px;
    float: left;
    margin: 0 0 0 40px;
    text-transform: uppercase;
    line-height: 18px;
}

#nav-checkout li a, #nav-checkout li a:link, #nav-checkout li a:visited {
    color: #232323;
    text-decoration: none;
    padding: 5px 0 5px 32px;
    float: left;
    
}

#checkout-phone a {
    background: url(../images/icon-phone.png) no-repeat;
    background-size: 25px 25px;
}

#checkout-back a {
    background: url(../images/icon-cart-mobile.png) no-repeat;
    background-size: 25px 25px;
}

#step-checkout {
    height: 70px;
    background: #265e6f;
    border-radius:2px;
    margin: 0 0 55px 0;
    width: 100%;
}

#list-checkout {
    list-style: none;
    height: 70px;
    text-align: center;
    width: 1440px;
    margin: 0 auto;
}

#list-checkout li {
    width: 180px;
    display: inline-block;
    position: relative;
    height: 55px;
    text-align: center;
    color: #89b8ba;
    text-transform: uppercase;
    padding: 15px 0 0 0;
}

#list-checkout li a {
    color: #89b8ba;
    text-decoration: none;
    display: block;
    height: 100%;
    width: 100%;
}

#list-checkout li.done:hover {
    cursor: pointer;
    color: #fff;
}

#list-checkout li.done:hover a {
    color: #fff;
    text-decoration: none;
    cursor: pointer;
}

#list-checkout li span {
    width: 20px;
    height: 20px;
    position: absolute;
    background: #89b8ba;
    border-radius: 10px;
    z-index: 10;
    left: 50%;
    margin-left: -10px;
    top: 37px;
}

#list-checkout li.active {
    color: #fff;
}

#list-checkout li.done span {
    width: 20px;
    height: 20px;
    background: #89b8ba url(../images/icon-checkmark.png) no-repeat 50% 6px;
    background-size: 12px 9px;
}

#list-checkout li.active span,
#list-checkout li.done:hover span {
    width: 12px;
    height: 12px;
    background: #265e6f;
    border: 4px solid #fff;
}

#checkout-content {
    width: 950px;
    float: left;
    position: relative;
}

#checkout-header {
    border-top: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    position: relative;
    margin-bottom: 40px;
}

#form-login {
    width: 475px;
    float: left;
    border-right: 1px solid #ccc;
    padding: 30px 0;
}

#form-login [type="radio"]:checked + label,
#form-login [type="radio"]:not(:checked) + label {
    padding-left: 28px;
}

.title-login {
    font-size: 20px;
    font-weight: 300;
    margin: 0 0 25px 0;
}

#form-login .input,
#form-new .input,
.form-ui .input,
#form-register .input,
#form-forgot-password .input,
#email-signup #form-new .select,
.form-generic input[type=text],
.form-generic input[type=email] {
    width: 368px;
    height: 38px;
    border: 1px solid #ccc;
    border-radius: 2px;
    margin: 7px 0 15px 0;
    padding: 0 5px;
}

.form-generic input[type=text],
.form-generic input[type=email] {
    /* the width is overridden on the shipping page, override it for generic forms too */
    width: 418px;
}
#form-login ul,
#form-forgot-password ul {
    list-style: none;
    margin: 0 0 25px 0;
}

#form-login ul li,
#form-forgot-password ul li {
    float: left;
    font-size: 12px;
    font-weight: 300;
    margin: 0 20px 0 0;
}

#form-login ul li, #form-forgot-password ul li {
    font-weight: 400;
}

#form-login .button,
#form-register .button,
#form-forgot-password .button {
    width: 150px;
    height: 35px;
    background: #232323;
    border: none;
    border-radius: 2px;
    font-size: 13px;
    color: #fff;
    text-transform: uppercase;
    margin: 0 115px 0 0;
}

#link-forgot, #link-create-account {
    color: #232323;
    font-size: 12px;
}

#new-customer {
    width: 430px;
    position: absolute;
    z-index: 10;
    left: 520px;
    top: 30px;
}

#form-new label span,
.form-ui label span {
    color: #c8332f;
}

#form-new .note,
.form-ui .note {
    font-size: 12px;
}

#form-new .checkbox,
.form-ui .checkbox {
    float: left;
    margin: 5px 7px 0 0;
}

#form-new label.label-newsletter {
    width: 365px;
    float: left;
    font-size: 13px;
    font-weight: 300;
    line-height: 1.6;
}

#shipping-address {
    padding: 0 0 40px;
}

#shipping-address h2 {
    font-size: 24px;
    text-transform: uppercase;
    margin: 0 0 30px 0;
}

#form-new .select,
.form-ui .select {
    width: 428px;
    height: 38px;
    border: 1px solid #ccc;
    border-radius: 2px;
    margin: 7px 0 15px 0;
}

#form-new #select-address {
    margin-top: 0;
}

.name-group {
    width: 430px;
    float: left;
    margin: 0 42px 0 0;
}

#form-new #shipping-address .input {
    width: 418px;
}

#form-new #shipping-address .input.large {
    width: 889px;
}

#shipping-address .link-help {
    float: none;
    display: inline-block;
}

#form-new #shipping-address .note {
    font-weight: 300;
    margin: 0 2px 0 7px;
}

.checkout-continue {
    border-top: 1px solid #ccc;
    margin-top: 30px;
    padding: 40px 0 0 0;
}

#create-account {
    padding: 30px 0 0;
}

#create-account h3 {
    font-size: 15px;
    text-transform: uppercase;
    margin: 0 0 15px 0;
}

#create-account p {
    font-weight: 300;
    margin: 0 0 25px 0;
}

#form-new .button,
.form-ui .button,
#form-delivery .button,
#form-payment .button,
#button-order-submit-section .button {
    width: 370px;
    height: 60px;
    background: #265e6f;
    border-radius: 2px;
    font-size: 18px;
    color: #fff;
    text-transform: uppercase;
    border: none;
    margin: 0 0 20px 0;
}

#text-required {
    font-size: 13px;
}

#text-required span {
    color: #c8332f;
}

#nav-footer-checkout {
    list-style: none;
    margin: 0;
    text-align: center;
}

#nav-footer-checkout li {
    width: 200px;
    margin: 0 55px;
    display: inline-block;
}

#nav-footer-checkout li a {
    font-size: 15px;
    color: #232323;
    text-decoration: none;
    text-transform: uppercase;
    padding: 6px 0 6px 40px;
}

#phone-footer a {
    background: url(../images/icon-phone.png) no-repeat;
    background-size: 30px 30px;
}

#contact-footer a {
    background: url(../images/icon-email.png) no-repeat;
    background-size: 30px 30px;
}

#service-footer a {
    background: url(../images/icon-menu-2.png) no-repeat;
    background-size: 36px 30px;
}

#checkout-sidebar {
    width: 425px;
    float: right;
}

#item-order {
    padding: 20px 0;
}

#item-order h4 {
    text-align: center;
    font-size: 18px;
    text-transform: uppercase;
    margin: 0 0 20px 0;
}

#item-order h4 span {
    font-weight: 300;
}

#item-order ul {
    list-style: none;
    margin: 0;
}

#item-order ul li {
    padding: 25px 0;
    border-bottom: 1px solid #ccc;
}

#item-order ul li:last-child {
    border: none;
}

#item-order ul li img {
    width: 170px;
    height: 170px;
    float: left;
    margin: 0 30px 0 0;
}

#item-order ul li div {
    display: inline-block;
    width: 225px;
}

#item-order ul li h3 {
    font-size: 15px;
    line-height: 1.7;
    font-weight: 300;
    margin: 0 0 15px 0;
}

#item-order ul li h3 a {
    color: #232323;
    text-decoration: none;
}

#item-order ul li p {
    font-size: 15px;
    font-weight: 300;
    margin: 0 0 15px 0;
}

.title-delivery {
    font-size: 24px;
    text-transform: uppercase;
    padding: 0 0 15px 0;
    border-bottom: 1px solid #ccc;
    margin: 0 0 25px 0;
}

.title-delivery.no-border {
    border: none;
}

#box-delivery {
    border-bottom: 1px solid #ccc;
    padding: 5px 0 25px 0;
    margin: 0 0 50px 0;
}

#billing-address #box-delivery {
    border-bottom: none;
    margin: 0;
}

#box-delivery p {
    font-size: 18px;
    font-weight: 300;
    line-height: 1.7;
    margin: 0 0 20px 0;
}

#box-delivery a {
    font-size: 13px;
    color: #232323;
}

#form-delivery {
    padding: 10px 0;
}

#form-delivery ul {
    list-style: none;
    margin: 0 0 40px 0;
    border-bottom: 1px solid #ccc;
}

#form-delivery .radio,
#form-payment .radio,
#shipping-address .radio {
    float: left;
}

[type="radio"]:checked,
[type="radio"]:not(:checked) {
    position: absolute;
    left: -9999px;
}

label.classification-label > [type="radio"]:checked,
label.classification-label > [type="radio"]:not(checked) {
    position: relative;
    left: 0px;
}

[type="radio"]:checked + label,
[type="radio"]:not(:checked) + label {
    position: relative;
    padding-left: 32px;
    cursor: pointer;
    line-height: 20px;
    display: inline-block;
}

[type="radio"]:checked + label:before,
[type="radio"]:not(:checked) + label:before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 20px;
    height: 20px;
    border: 1px solid #ccc;
    border-radius: 100%;
    background: #fff;
}

[type="radio"]:checked + label:after,
[type="radio"]:not(:checked) + label:after {
    content: '';
    width: 10px;
    height: 10px;
    background: #232323;
    position: absolute;
    top: 6px;
    left: 6px;
    border-radius: 100%;
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
}

[type="radio"].radio-small:checked + label,
[type="radio"].radio-small:not(:checked) + label {
    padding-left:25px;
}
[type="radio"].radio-small:checked + label:before,
[type="radio"].radio-small:not(:checked) + label:before {
    width: 12px;
    height: 12px;
}

[type="radio"].radio-small:checked + label:after,
[type="radio"].radio-small:not(:checked) + label:after {
    width: 6px;
    height: 6px;
    top: 4px;
    left: 4px;
}

#previous-card-list input[type='radio'],
#previous-card-list [type="radio"]:checked + label:before,
#previous-card-list [type="radio"]:not(:checked) + label:before,
#previous-card-list [type="radio"]:checked + label:after,
#previous-card-list [type="radio"]:not(:checked) + label:after {
    display:none;
}

.style-selector-container .style-selector label:before,
.style-selector-container .style-selector label:after,
.list-filter label:before,
.list-filter label:after {
    content:none !important;
}
.style-selector-container .style-selector label {
    padding-left:0;
}
/* Hide certain things like stock status until an option is selected */
.hidden-until-selection {
    /* We don't want to remove the item from the DOM for risk of breaking something... Simply hide it... */
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    width: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
}
#previous-card-list [type="radio"] + label {
    margin-right:10px;
    padding:10px;
    height:140px;
    width:190px;
}

#previous-card-list [type="radio"]:checked + label {
    border: 2px solid #265e6f;
    border-radius: 2px;
}
#previous-card-list [type="radio"]:not(:checked) + label {
    border: 1px solid #ccc;
    padding:11px;
    border-radius: 2px;
}

[type="radio"]:not(:checked) + label:after {
    opacity: 0;
    -webkit-transform: scale(0);
    transform: scale(0);
}

#previous-card-list .cc-name {
    position:absolute;
    top:27px;
}

#previous-card-list [type="radio"]:checked + label .cc-name {
    top:26px;
}

/* Style for the button to delete/remove a previous credit card. */
button.delete-cc {
    width: 10px;
    height: 10px;
    background: url(../images/icon-close-popup.png) no-repeat;
    background-size: 10px 10px;
    top: 8px;
    right: 5px;
    position: absolute;
    text-indent: -9999px;
    z-index: 99999;
    border: none;
    outline: none;
    cursor: pointer;
}

[type="radio"]:checked + label:after {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1);
}
#previous-card-list img {
    width: 70px;
    margin: 0 10px 0 0;
}

#previous-card-list li {
    float:left;
}

#form-delivery ul li div {
    width: 900px;
    float: left;
    font-size: 15px;
}

#form-delivery ul li h4,
#form-delivery ul li p {
    margin: 0 0 12px 0;
}

#form-delivery ul li p {
    font-weight: 300;
}

#form-delivery ul li {
    margin: 0 0 25px 0;
}

#form-delivery ul li p.info,
#form-delivery .drop-ship-message {
    padding-left: 35px;
    display:block;
}
#form-delivery ul li p.info {
    /*display:none;*/
}
#form-delivery ul li p.info strong {
    font-weight: 500;
}

#form-payment h4 {
    font-size: 20px;
    font-weight: 300;
    margin: 0 0 25px 0;
}

.payment-content,
.billing-content {
    width: 900px;
    float: left;
}

#form-payment ul,
#shipping-address ul {
    list-style: none;
    margin: 0;
}

#form-payment ul label,
#shipping-address ul label {
    display: block;
    margin: 0 0 15px 0;
}

#form-payment ul li {
    margin: 0 0 10px 0;
}

.card {
    margin: 0 0 25px 0;
}

.card img {
    width: 70px;
    margin: 0 25px 0 0;
}

#form-payment ul label.label {
    margin: 0 0 10px 0;
}

#form-payment .input {
    width: 478px;
    height: 38px;
    border: 1px solid #ccc;
    border-radius: 2px;
    margin: 0 0 15px 0;
    padding: 0 5px;
}

#form-payment #shipping-address .input {
    margin-top: 7px;
}

#form-payment #shipping-address {
    padding-bottom: 10px;
}

.payment-date {
    width: 150px;
    float: left;
    margin: 0 20px 10px 0;
    padding: 10px 0 0 0;
}

/* Forget me option */
.payment-forget {
    padding: 0;
    margin: 0;
    white-space: nowrap;
    width: 100%;
    clear: both;
    float: left;
}
.payment-forget #optout-option {
    /* The checkbox*/
    display: inline-block; 
}
.payment-forget #optout-label {
    /* Override the display block on most labels so it shows right next to the checkbox */
    display: inline-block; 
}


#form-payment .select {
    width: 150px;
    height: 40px;
    border: 1px solid #ccc;
    border-radius: 2px;
}

#form-payment .input.small {
    width: 138px;
}

.payment-date .link-help {
    float: right;
    margin-top: 1px;
    margin-right: 25px;
}
#gift-certificate label,
.loyalty-points label {
    font-size: 20px;
    font-weight: 300;
}
.points-applied {
    margin-top: 1.5em;
}
.points-message {
    float: left;
    clear: both;
    margin-top: 1.0em;
}

#form-payment .input.gift {
    width: 418px;
    margin: 10px 12px 0 0;
    float: left;
}

.button-apply, .button-apply:link, .button-apply:visited {
    width: 70px;
    height: 35px;
    background: #232323;
    color: #fff;
    line-height: 35px;
    text-align: center;
    float: left;
    font-size: 13px;
    color: #fff;
    text-transform: uppercase;
    border-radius: 2px;
    text-decoration: none;
    margin: 12px 0 0 0;
    padding:0 13px;
}

#billing-address {
    border-top: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    padding: 35px 0 15px 0;
    margin: 50px 0 40px 0;
}

#billing-address ul li p,
#shipping-address ul li p {
    font-weight: 300;
    line-height: 1.7;
    margin-top: -5px;
}

#form-payment #billing-address ul li,
#form-new #shipping-address ul li {
    margin: 0 0 20px 0;
}

.box-review-checkout {
    margin: 0 0 40px 0;
}

.box-review-checkout p {
    font-size: 18px;
    font-weight: 300;
    line-height: 1.7;
    margin: 0 0 10px 0
}

.box-review-checkout a {
    font-size: 13px;
    color: #232323;
}

.box-review-checkout p.delivery {
    font-size: 15px;
}

.box-review-checkout img {
    float: left;
    width: 95px;
    margin: 0px 30px 0 0;
}

#button-order-submit-section {
    border-top: 1px solid #ccc;
    padding: 40px 0 0 0;
    margin: 35px 0 0 0;
}

.button-order, .button-order:link, .button-order:visited {
    width: 370px;
    height: 60px;
    display: block;
    background: #265e6f;
    border-radius: 2px;
    font-size: 18px;
    text-align: center;
    line-height: 60px;
    text-transform: uppercase;
    color: #fff;
    text-decoration: none;
}

#order-summary .button-order {
    width: 100%;
    margin: 30px 0 0 0;
}

#step-checkout h1 {
    text-align: center;
    font-size: 40px;
    color: #fff;
    text-transform: uppercase;
    font-weight: 300;
    line-height: 70px;
}

#confirmation {
    background: #fbf8f9;
    padding: 45px 0;
    margin: 0 0 50px 0;
}

#step-checkout.confirmation {
    margin: 0;
}

#confirmation h2 {
    margin: 0 0 35px 0;
    text-align: center;
    font-size: 24px;
    font-weight: 300;
}

#confirmation h3 {
    text-align: center;
    font-size: 20px;
    margin: 0 0 15px 0;
}

#confirmation p {
    width: 240px;
    background: #fff;
    padding: 15px 0;
    margin: 0 auto;
    text-align: center;
    font-size: 20px;
    color: #265e6f;
}

#sidebar-confirmation {
    width: 240px;
    float: left;
    background: #f9f9f9;
    padding: 0 0 40px 0;
}

#sidebar-confirmation h3 {
    font-size: 16px;
    text-transform: uppercase;
    text-align: center;
    padding: 0 0 20px 0;
    background: url(../images/swirl.png) no-repeat 50% 100%;
    background-size: 160px 12px;
    margin: 0 0 15px 0;
}

#sidebar-confirmation p {
    text-align: center;
    font-weight: 300;
    margin: 0 30px 20px 30px;
    line-height: 1.7;
}

#button-signup {
    width: 150px;
    height: 35px;
    background: #232323;
    border-radius: 2px;
    font-size: 13px;
    color: #fff;
    text-transform: uppercase;
    line-height: 35px;
    display: block;
    text-align: center;
    margin: 0 auto;
    text-decoration: none;
}

#content-confirmation {
    width: 1155px;
    float: right;
}

#form-survey {
    padding: 30px 0 0 0;
    margin: 0 0 20px 0;
}

#form-survey h3 {
    font-size: 24px;
    text-transform: uppercase;
    padding: 0 0 10px 0;
    border-bottom: 1px solid #ccc;
    margin: 0 0 25px 0;
}

#form-survey h3 span {
    text-transform: none;
    font-size: 24px;
    font-weight: 300;
}

#form-survey p {
    font-size: 20px;
    font-weight: 300;
    margin: 0 0 15px 0;
}

#form-survey .textarea {
    width: 528px;
    height: 148px;
    float: left;
    border: 1px solid #b7b7b7;
    padding: 10px;
    font-size: 15px;
    font-weight: 300;
    margin: 0 0 20px 0;
}

#form-survey .left {
    float: left;
}

#form-survey .right {
    float: right;
}

#form-survey .button {
    float: right;
    width: 150px;
    height: 50px;
    background: #265e6f;
    border: none;
    border-radius: 2px;
    font-size: 15px;
    color: #fff;
    text-transform: uppercase;
}

#order-summary-checkout {
    border-bottom: 1px solid #ccc;
    padding: 0 0 12px 0;
    margin: 0 0 12px 0;
    display: table;
    height: 100%;
}

#content-confirmation h2 {
    font-size: 24px;
    text-transform: uppercase;
    margin: 0 0 12px 0;
}

#sidebar-summary {
    display: table-cell;
    width: 210px;
    background: #fbf8f9;
    margin: 0 30px 0 0;
    padding: 30px 20px;
    vertical-align: top;
}

#sidebar-summary aside {
    margin: 0 0 25px 0;
}

#sidebar-summary aside p {
    font-size: 15px;
    font-weight: 300;
    line-height: 1.7;
}

#content-summary {
    width: 900px;
    display: table-cell;
    vertical-align: top;
}

#content-summary .row-content-summary:first-child {
    border-top: 1px solid #ccc;
}

.row-content-summary {
    width: 870px;
    margin: 0 0 0 30px;
}

#content-confirmation #order-summary {
    width: 365px;
    float: right;
}

.box-content-summary {
    padding: 30px 0;
    border-bottom: 1px dotted #ccc;
}

.box-content-summary img {
    max-width: 170px;
    height: 170px;
    float: left;
    margin: 0 25px 0 0;
}

.description-content-summary {
    width: 500px;
    float: left;
    font-weight: 300;
}

.description-content-summary h3 {
    margin: 0 0 10px 0;
}

.description-content-summary p {
    line-height: 2.0;
}

.stock-summary {
    width: 165px;
    float: right;
    text-align: right;
    font-weight: 300;
}

.row-content-summary .box-content-summary:last-child {
    border: none;
}

/* My Account
=====================================================================*/
#title-login,
#title-reset-sent,
#title-main {
    font-size: 30px;
    font-weight: 300;
    text-transform: uppercase;
    text-align: center;
    margin: 0 0 25px 0;
}

#form-login-container, #form-forgot-password-container {
    border-top: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
}

#form-login-container #form-login {
    width: 520px;
    float: left;
    padding: 30px 0 0 200px;
    border: none;
}

#form-login-container #form-register {
    width: 580px;
    float: left;
    padding: 30px 0 30px 135px;
    border-left: 1px solid #ccc;
}

#form-login-container #form-login .input,
#form-login-container #form-register .input,
#form-forgot-password-container #form-forgot-password .input {
    width: 418px;
    height: 38px;
    border: 1px solid #ccc;
    border-radius: 2px;
    margin: 7px 0 15px 0;
    padding: 0 5px;
}

#form-login-container #form-login .button,
#form-login-container #form-register .button,
#form-forgot-password-container #form-forgot-password .button {
    width: 200px;
}

#form-register label.newsletter {
    font-size: 13px;
    font-weight: 400;
}

#form-register .checkbox {
    margin: 0 0 25px 0;
}

#myaccount-sidebar {
    width: 238px;
    float: left;
    border: 1px solid #ccc;
}

#nav-myaccount {
    list-style: none;
    margin: 0;
}

#nav-myaccount li {
    border-bottom: 1px solid #ccc;
}

#nav-myaccount li:last-child {
    border: none;
}

#nav-myaccount li a, #nav-myaccount li a:link, #nav-myaccount li a:visited {
    display: block;
    padding: 15px 10px;
    font-size: 15px;
    color: #232323;
    text-decoration: none;
    text-transform: uppercase;
}

#nav-myaccount li.active a {
    color: #265e6f;
}

#nav-myaccount li.active a span {
    background: url(../images/icon-arrow-blue.png) no-repeat 100% 4px;
    background-size: 7px 12px;
    padding: 0 14px 0 0;
}

#myaccount-content {
    width: 1150px;
    float: right;
}

#myaccount-content h2 {
    font-size: 20px;
    margin: 0 0 15px 0;
}

#myaccount-content h2 span {
    font-weight: 300;
}

.box-myaccount {
    padding: 0 0 10px 0;
    border-bottom: 1px solid #ccc;
    display: table;
    margin: 0 0 45px 0;
}

.sidebar-myaccount {
    width: 250px;
    display: table-cell;
    background: #fbf8f9;
    padding: 0;
    vertical-align: top;
}

.sidebar-myaccount aside {
    padding: 30px 20px;
}

.content-myaccount {
    width: 890px;
    display: table-cell;
    vertical-align: top;
}

.order-date {
    font-weight: 300;
    margin: 0 0 15px 0;
}

.box-content-myaccount {
    margin: 0 0 0 30px;
}

.link-print, .link-print:link, .link-print:visited {
    background: url(../images/icon-print.png) no-repeat 0 2px;
    background-size: 10px 10px;
    font-size: 12px;
    text-transform: uppercase;
    padding: 0 0 0 17px;
    display: block;
    margin: 0 0 15px 0;
}

.link-more-detail, .link-more-detail:link, .link-more-detail:visited {
    background: url(../images/icon-arrow-blue.png) no-repeat 100% 3px;
    background-size: 5px 9px;
    padding: 0 11px 0 0;
    font-size: 12px;
    text-transform: uppercase;
    color: #265e6f;
    text-decoration: underline;
    cursor: pointer;
}

.link-more-detail.active {
    background: url(../images/arrow-down.png) no-repeat 100% 5px;
    background-size: 9px 4px;
}

.detail-myaccount {
    border-top: 1px dotted #ccc;
    padding: 25px 0 0 0;
    margin: 20px 0 0 0;
    display: none;
}

.detail-myaccount p {
    font-weight: 300;
    margin: 0 0 25px 0;
    line-height: 1.7;
}

.title-shipment {
    border-bottom: 1px solid #ccc;
    padding: 0 0 10px 0;
}

.title-shipment h3 {
    text-transform: uppercase;
    font-size: 13px;
    float: left;
}

.title-shipment .link-print, .title-shipment .link-print:link, .title-shipment .link-print:visited {
    float: right;
    margin: 0;
}

.button-buy, .button-buy:link, .button-buy:visited {
    width: 170px;
    height: 35px;
    background: #265e6f;
    border-radius: 2px;
    float: right;
    text-align: center;
    color: #fff;
    text-transform: uppercase;
    text-decoration: none;
    line-height: 35px;
    font-size: 13px;
    border: none;
    cursor: pointer;
}

.box-content-myaccount .description-content-summary {
    width: 450px;
}

.list-box-content-summary .box-content-summary:last-child {
    border: none;
}

#button-view-more {
    display: block;
    width: 200px;
    height: 35px;
    border-radius: 2px;
    background: #265e6f;
    font-size: 13px;
    color: #fff;
    text-align: center;
    line-height: 35px;
    text-decoration: none;
    text-transform: uppercase;
}

#link-free {
    font-size: 18px;
    text-transform: uppercase;
    text-decoration: underline;
    color: #232323;
}

#box-question {
    background: #fbf8f9;
    text-align: center;
    padding: 30px 0;
}

#box-question img {
    width: 50px;
    margin: 0 0 20px 0;
}

#box-question h3 {
    font-size: 16px;
    text-transform: uppercase;
    font-weight: normal;
    background: url(../images/swirl.png) no-repeat 50% 100%;
    padding: 0 0 30px 0;
    background-size: 165px;
    height: 12px;
    margin: 0 0 20px 0;
}

#box-question p {
    font-size: 15px;
    font-weight: 300;
    line-height: 1.7;
}

#form-result h2 {
    font-size: 24px;
    text-transform: uppercase;
    margin: 0 0 25px 0;
}

#form-result {
    position: relative;
    border-bottom: 1px solid #ccc;
    padding: 0 0 40px 0;
    margin: 0 0 40px 0;
}

#form-result-group div {
    width: 170px;
    float: left;
    margin: 0 50px 0 0;
}

#form-result .select {
    width: 170px;
    height: 40px;
    border: 1px solid #ccc;
    margin: 10px 0 0 0;
}

#form-result .select.small {
    width: 70px;
}

#form-result-group {
    position: absolute;
    z-index: 10;
    left: 480px;
}

#form-result .input {
    width: 388px;
    height: 38px;
    border: 1px solid #ccc;
    margin: 10px 0 25px 0;
    padding: 0 5px;
}

#form-result .button {
    width: 200px;
    height: 35px;
    background: #232323;
    border-radius: 2px;
    border: none;
    font-size: 13px;
    color: #fff;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin: 0 85px 0 0;
}

.link-clear {
    font-size: 13px;
    color: #232323;
    text-transform: uppercase;
    letter-spacing: 1px;
}

#recipent-container .page-container {
    float: none;
    margin: 0 0 20px 0;
}

.recipent {
    width: 308px;
    height: 218px;
    float: left;
    border: 1px solid #ccc;
    margin: 0 19px 19px 0;
    padding: 30px;
    position: relative;
}

#list-recipent .recipent:nth-child(3n) {
    margin-right: 0;
}

.recipent.add {
    border: none;
    width: 370px;
    height: 280px;
    padding: 0;
}

.recipent.add a {
    display: block;
    height: 220px;
    background: #cde0e5;
    text-align: center;
    padding: 60px 0 0 0;
    font-size: 13px;
    color: #232323;
}

.recipent.add a span {
    display: block;
    width: 86px;
    height: 86px;
    border: 4px solid #fff;
    border-radius: 50px;
    margin: 0 auto 30px auto;
    background: url(../images/icon-plus-big.png) no-repeat 50% 18px;
    background-size: 52px 52px;
}

.recipent.add a strong {
    text-transform: uppercase;
    font-weight: normal;
}

.initial {
    width: 60px;
    height: 60px;
    background: #e1e1e1;
    border-radius: 30px;
    float: left;
    font-size: 25px;
    color: #fff;
    text-transform: uppercase;
    line-height: 60px;
    text-align: center;
    margin: 0 10px 25px 0;
}

.recipent h3 {
    font-size: 18px;
    padding: 20px 0 0 0;
}

.recipent p {
    clear: both;
    font-weight: 300;
    line-height: 1.6;
}

.edit-recipent {
    position: absolute;
    z-index: 10;
    left: 30px;
    bottom: 30px;
}

.button-edit, .button-edit:link, .button-edit:visited {
    width: 70px;
    height: 25px;
    float: left;
    background: #232323;
    border-radius: 2px;
    line-height: 25px;
    text-align: center;
    font-size: 12px;
    text-transform: uppercase;
    line-height: 25px;
    color: #fff;
    text-decoration: none;
    margin: 0 30px 0 0;
}

.link-delete {
    font-size: 12px;
    color: #232323;
    text-transform: uppercase;
    float: left;
    margin: 5px 0 0 0;
}

.box-digital {
    border-bottom: 1px solid #ccc;
    padding: 0 0 30px 0;
    margin: 0 0 30px 0;
}

.image-digital {
    width: 175px;
    float: left;
    margin: 0 40px 0 0;
}

.content-digital {
    width: 550px;
    float: left;
}

.content-digital h3,
.content-digital p {
    line-height: 1.8;
}

.content-digital p {
    font-weight: 300;
}

.content-digital p strong {
    font-weight: normal;
}

.button-open, .button-open:link, .button-open:visited {
    width: 150px;
    height: 35px;
    float: right;
    background: #265e6f;
    font-size: 13px;
    color: #fff;
    text-transform: uppercase;
    border-radius: 2px;
    line-height: 35px;
    text-decoration: none;
    text-align: center;
}

.button-view-more, .button-view-more:link, .button-view-more:visited {
    width: 240px;
    height: 35px;
    background: #265e6f;
    border-radius: 2px;
    font-size: 13px;
    color: #fff;
    text-transform: uppercase;
    display: block;
    text-decoration: none;
    text-align: center;
    line-height: 35px;
}

/* Beginning
=====================================================================*/
#beginning-left {
    width: 710px;
    height: 465px;
    float: left;
}

#beginning-right {
    width: 710px;
    height: 400px;
    float: right;
    background: #fbf2e9 url(../images/leaf.png) no-repeat right 40px bottom 25px;
    text-align: center;
    padding: 65px 0 0 0;
}

#beginning-right h3 {
    font-size: 25px;
    margin: 0;
}

#beginning-right h2 {
    font-size: 60px;
    text-transform: uppercase;
    margin: 0 0 25px 0;
}

#beginning-right p {
    font-size: 18px;
    font-weight: 300;
    line-height: 1.8;
    margin: 0 50px 25px 50px;
}

.title-beginning {
    border-bottom: 1px solid #ccc;
    margin: 0 0 20px 0;
}

.title-beginning h2 {
    float: left;
    font-size: 24px;
    font-weight: 300;
    background: #fff;
    margin-bottom: -10px;
    padding-right: 10px;
}

.title-beginning h2 span {
    font-size: 34px;
    font-style: italic;
}

.content-beginning {
    position: relative;
    margin: 0 0 30px 0;
}

.image-beginning {
    width: 310px;
    float: left;
}

/* Added for thumbnails with magic zoom */
.small-columns {
    display: flex;
}
.small-columns .column1 {
    width: 100px;
    height: 100px;
    margin-right: 10px;
    margin-bottom: 10px;
    font-size: 1em;
    overflow: hidden;
}
.small-columns .column2 {
   
}
.link-help.tooltip {
    vertical-align: text-top;

}

.compare-beginning {
    width: 1090px;
    float: right;
    padding: 15px 0 0 0;
}

.compare-beginning p {
    margin: 0 150px 20px 0;
    font-weight: 300;
    line-height: 1.8;
}
.box-compare {
    width: 335px;
    float: left;
    margin: 0 40px 0 0;
}

.box-compare h3 {
    font-size: 18px;
    font-weight: 300;
    margin: 0 0 10px 0;
}

.code-product {
    font-size: 13px;
    font-weight: 300;
    display: block;
    margin: 0 0 10px 0;
}

.box-compare h4 {
    margin: 0 0 15px 0;
}

.box-compare .list-size li {
    /*width: 58px;*/
}

.box-compare .list-size {
    margin: 0 0 20px 0;
}

.box-compare .button-cart {
    width: 150px;
    float: none;
    display: block;
    margin: 0 0 25px 0;
}
.box-compare .error-message {
    margin: 0 0 25px 0;
}

.box-compare .link-more {
    font-size: 13px;
    float: none;
    margin: 0;
    padding-left: 0;
}

.compare-beginning .box-compare:last-child {
    margin-right: 0;
}

.box-compare h3 .link-help {
    float: none;
    display: inline-block;
}

.button-compare, .button-compare:link, .button-compare:visited {
    position: absolute;
    width: 98px;
    height: 28px;
    z-index: 10;
    top: 0;
    right: 0;
    border: 1px solid #ccc;
    border-radius: 2px;
    line-height: 28px;
    text-align: center;
    font-size: 13px;
    color: #232323;
    text-decoration: none;
    text-transform: uppercase;
}

#view-all {
    border-top: 1px solid #ccc;
    margin-top: 30px;
    padding: 30px 0 0 0;
}

#view-all a {
    width: 298px;
    height: 38px;
    border: 1px solid #ccc;
    border-radius: 2px;
    display: block;
    margin: 0 auto;
    text-align: center;
    text-transform: uppercase;
    color: #232323;
    text-decoration: none;
    line-height: 38px;
}

#form-private {
    width: 519px;
    float: left;
    border-right: 1px solid #ccc;
    padding: 30px 100px;
}

#form-public {
    width: 520px;
    float: left;
    padding: 30px 96px; /* reduced from 100 to fix ipad */
}

.form-header {
    height: 200px;
}

.form-header h2 {
    font-size: 20px;
    font-weight: 300;
    margin: 0 0 20px 0;
}

.form-teacher p {
    font-weight: 300;
    line-height: 1.7;
}

.form-teacher h3 {
    text-transform: uppercase;
    margin: 0 0 20px 0;
}

.form-teacher .input {
    width: 428px;
    height: 38px;
    border: 1px solid #ccc;
    border-radius: 2px;
    padding: 0 5px;
    margin: 5px 0 20px 0;
}

.form-teacher .button,
.button-email-cart,
.button-email-cart:visited {
    width: 200px;
    height: 35px;
    background: #232323;
    border: none;
    border-radius: 2px;
    font-size: 13px;
    text-transform: uppercase;
    color: #fff;
    margin: 0 125px 50px 0;
}

.button-email-cart {
    display:inline-block;
    text-align:center;
    text-decoration:none;
    line-height:35px;
    margin:0 0 0 25px;
}

.button-email-cart:hover {
    color:#fff;
}

.button-email-cart.saved-for-later {
    margin:0;
}

#cart-later .get-quote-container {
    padding-left:20px;
    height:35px;
    float:right;
    margin-top:-37.5px;
    background-color:#fbf8f9;
}

#popup-cart .quote-submitted #modal-content {
    line-height:25px;
    padding: 25px 20px;
    margin: 0 0 20px 0;
}

#cart-content #main-title {
    display:inline-block;
}

.cart-top-buttons {
float:right;    
}

.form-teacher .link-forgot, .form-teacher .link-forgot:link, .form-teacher .link-forgot:visited {
    font-size: 12px;
    color: #232323;
}

.button-register, .button-register:link, .button-register:visited {
    width: 200px;
    height: 35px;
    background: #232323;
    border-radius: 2px;
    font-size: 13px;
    text-transform: uppercase;
    color: #fff;
    margin: 20px 0 30px 0;
    display: block;
    text-align: center;
    line-height: 35px;
    text-decoration: none;
}


/* Learn
=====================================================================*/
#nav-learn {
    margin: 0 0 8px 0;
    list-style: none;
}

#nav-learn li {
    margin: 0 0 1px 0;
    height: 60px;
    text-align: center;
}

#nav-learn li a {
    display: block;
    height: 60px;
    background: #cde0e5;
    color: #232323;
    text-decoration: none;
    text-transform: uppercase;
}

#nav-learn li.icon-nav-blog span {
    padding: 10px 0 10px 45px;
    display: inline-block;
    background: url(../images/icon-blog.png) no-repeat;
    background-size: 38px 38px;
    margin: 10px 0 0 0;
}

#nav-learn li.icon-nav-services span {
    padding: 10px 0 10px 45px;
    display: inline-block;
    background: url(../images/icon-services.png) no-repeat;
    background-size: 38px 38px;
    margin: 10px 0 0 0;
}

/* #form-search-library */
#form-search-library {
    background: #f0e7dd;
    padding: 20px 17px;
    border-bottom: 1px solid #ccc;
}

#form-search-library div {
    width: 198px;
    height: 38px;
    border: 1px solid #ccc;
    border-radius: 2px;
    background: #fff;
    margin: 10px 0 0 0;
}

#form-search-library label {
    text-transform: uppercase;
}

#form-search-library .input {
    width: 160px;
    float: left;
    border: none;
    padding: 0 5px;
    height: 35px;
    outline: none;
}

#form-search-library .button {
    width: 25px;
    height: 25px;
    background: url(../images/icon-search.png) no-repeat;
    background-size: 20px 20px;
    float: left;
    border: none;
    text-indent: -9999px;
    margin: 8px 0 0 0;
    opacity: 0.5;
}

/* /#form-search-library */

.nav-sub-learn {
    list-style: none;
    margin: 0 0 0 10px;
}

.nav-sub-learn li {
    margin: 0 0 12px 0;
}

.nav-sub-learn li a {
    font-size: 15px;
    color: #232323;
    text-decoration: none;
    font-weight: 300;
}

#tabs-video {
    margin: 0 0 25px 0;
}

#nav-tabs-video {
    list-style: none;
    margin: 0;
}

#nav-tabs-video {
    margin: 40px 0 25px 0;
}

#nav-tabs-video li {
    float: left;
    margin: 0 50px 0 0;
    font-size: 13px;
    text-transform: uppercase;
}

#nav-tabs-video li a {
    display: block;
    padding: 0 0 15px 0;
    color: #232323;
    text-decoration: none;
}

#nav-tabs-video li.ui-tabs-active a {
    background: url(../images/hover-tabs.png) no-repeat 50% 100%;
    background-size: 150px 11px;
    color: #265e6f;
}

.list-video {
    list-style: none;
    margin: 0;
}

.list-video li {
    width: 365px;
    float: left;
    margin: 0 27px 0 0;
}

.video {
    position: relative;
    margin: 0 0 10px 0;
}

.video span {
    width: 100px;
    height: 100px;
    background: url(../images/play-video.png) no-repeat;
    background-size: 100px 100px;
    position: absolute;
    z-index: 10;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    margin: auto;
    display: block;
}

.list-video li h3 {
    font-size: 15px;
    font-weight: 300;
}

.list-video li h3 a {
    color: #232323;
}

.list-video li:last-child {
    margin-right: 0;
}

.button-full, .button-full:link, .button-full:visited {
    width: 240px;
    height: 35px;
    background: #265e6f;
    border-radius: 2px;
    color: #fff;
    font-size: 13px;
    text-transform: uppercase;
    display: block;
    text-align: center;
    text-decoration: none;
    line-height: 35px;
    letter-spacing: 1px;
}

#intro-article {
    margin: 50px 0 35px 0;
}

#intro-article h2 {
    font-size: 30px;
    font-weight: 300;
    margin: 0 0 5px 0;
}

#intro-article p {
    font-size: 18px;
    font-weight: 300;
}

#article-container h3 {
    text-transform: uppercase;
    margin: 0 0 25px 0;
}

.box-article {
    padding: 0 0 30px 0;
    margin: 0 0 30px 0;
    border-bottom: 1px solid #ccc;
}

.box-article img {
    margin: 0 50px 0 0;
    float: left;
}

.hide-box-article {
    display: none;
}

.content-article {
    width: 750px;
    float: left;
}

.content-article h4 {
    font-size: 18px;
    margin: 0 0 15px 0;
}

.content-article h4 span {
    font-weight: 300;
}

.date {
    font-size: 13px;
    font-style: italic;
    font-weight: 300;
    margin: 0 0 15px 0;
}

.content-article p {
    line-height: 1.6;
    font-weight: 300;
    margin: 0 0 15px 0;
}

.content-article h4 a {
    color: #232323;
    text-decoration: none;
}

.link-read-more {
    background: url(../images/icon-arrow-blue.png) no-repeat 100% 4px;
    background-size: 7px 12px;
    padding: 0 12px 0 0;
}
/* Services
=====================================================================*/
#beginning-right blockquote p {
    text-transform: uppercase;
    font-size: 14px;
    font-weight: normal;
    padding: 10px 0;
}

.title-services {
    border-bottom: 1px solid #ccc;
    padding: 0 0 10px 0;
    margin: 0 0 60px 0;
    outline: none;
    cursor: pointer;
    position: relative;
}

.title-services strong {
    font-size: 30px;
    float: left;
    font-weight: 300;
}

.title-services em {
    font-size: 28px;
    float: right;
    margin: 0 30px 0 0;
}

.services-content {
    background: #f9f9f9;
    padding: 40px;
    margin: 0 0 30px 0;
}

.title-services.ui-state-active {
    margin: 0 0 20px 0;
}

.services-content img {
    float: left;
    margin: 0 50px 0 0;
}

.services-content p,
.services-content h4 {
    line-height: 1.7;
    margin: 0 0 20px 0;
    font-weight: 300;
}

.services-content h4 {
    font-weight: normal;
    margin-top: 25px;
}

.title-services span {
    width: 15px;
    height: 15px;
    background: url(../images/icon-plus.png) no-repeat;
    background-size: 15px 15px;
    position: absolute;
    z-index: 10;
    right: 0;
    top: 12px;
}

.title-services.ui-state-active span {
    background: url(../images/icon-minus.png) no-repeat;
    background-size: 15px 15px;
}
/* Collection
=====================================================================*/
#header-collection {
    height: 155px;
}

#header-collection-top {
    height: 60px;
    background: #232323;
    position: relative;
    padding: 30px 0 0 0;
}

#link-return {
    position: absolute;
    left: 20px;
    top: 20px;
    font-size: 11px;
    color: #fff;
    text-transform: uppercase;
    font-weight: 300;
    text-decoration: none;
    background: url(../images/icon-back.png) no-repeat 0 2px;
    background-size: 15px 10px;
    padding-left: 20px;
}

#logo-wrapper {
    text-align: center;
}

#logo-collection {
    width: 365px;
    height: 27px;
    background: url(../images/logo-collection.png) no-repeat;
    background-size: 365px 27px;
    display: block;
    text-indent: -9999px;
    margin: 0 auto 0 auto;
}

#header-collection-top #nav-login {
    top: 15px;
    right: 20px;
}

#header-collection-top #nav-login li a, #header-collection-top #nav-login li a:link, #header-collection-top #nav-login li a:visited {
    text-transform: none;
    font-size: 13px;
    height: 18px;
    padding: 0 0 0 25px;
}

#header-collection-top #nav-login li a strong {
    font-weight: 300;
}

#header-collection-top #icon-login a,
#header-collection-top #icon-cart a {
    background-size: 18px 18px;
    opacity: 0.8;
}

#header-collection-top #nav-login li#icon-search a, #header-collection-top #nav-login li#icon-search a:link, #header-collection-top #nav-login li#icon-search a:visited {
    background: url(../images/icon-search-white.png) no-repeat 100% 0;
    background-size: 18px 18px;
    opacity: 0.8;
    padding: 0 25px 0 0;
    font-size: 13px;
    font-weight: 300;
}

#nav-collection {
    height: 50px;
    background: #232323;
    list-style: none;
    margin: 0;
    text-align: center;
    padding: 15px 0 0 0;
}

#nav-collection li {
    display: inline-block;
    margin: 0 10px;
}

#nav-collection li a {
    font-size: 13px;
    color: #fff;
    text-transform: uppercase;
    text-decoration: none;
    font-weight: normal;
    display: block;
    padding: 0 5px 10px 5px;
}

#nav-collection li.active {
    background: url(../images/arrow-top.png) no-repeat 50% 19px;
    background-size: 9px 4px;
}

#intro-collection {
    position: relative;
    height: auto;
    margin: 0 0 30px 0;
    text-align: center;
}

#intro-collection img {
    margin: 0;
    vertical-align: top;
}

#intro-collection div {
    height: 110px;
    position: absolute;
    z-index: 10;
    left: 0;
    bottom: -1px;
    width: 100%;
    background: rgba(0,0,0,0.6);
}

#intro-collection div h1 {
    font-size: 40px;
    font-weight: 300;
    text-transform: uppercase;
    line-height: 110px;
    text-align: center;
    color: #fff;
}

#title-refine {
    height: 20px;
    margin: 0 0 25px 0;
}

#title-refine .link-help {
    font-weight: normal;
}

#title-refine span {
    float: left;
    font-size: 18px;
    text-transform: uppercase;
    font-weight: normal;
}

.refine {
    width: 375px;
    float: left;
}

.refine.big {
    width: 450px;
}

.refine #amount-1,
.refine #amount-2,
.refine #amount-3 {
    display: none;
}

.dot-1, .dot-2, .dot-3, .dot-4, .dot-5 {
    width: 3px;
    height: 3px;
    background: #fff;
    display: block;
    border-radius: 3px;
    position: absolute;
    top: 2px;
    left: 25%;
}

.dot-2 {
    left: 50%;
}

.dot-3 {
    left: 75%;
}

.refine strong {
    float: left;
    font-size: 11px;
    text-transform: uppercase;
    font-weight: normal;
}

.ui-slider {
    position: relative;
    text-align: left;
    width: 200px;
    height: 7px;
    border-radius: 5px;
}

#slider-1.ui-slider {
    background: linear-gradient(90deg, #265e6f, #c93834);
    width: 200px;
    float: left;
    margin: 4px 22px 0 17px;
}

#slider-2.ui-slider {
    background: linear-gradient(90deg, #63710f, #ffcc66);
    width: 200px;
    float: left;
    margin: 4px 22px 0 17px;
}

#slider-3.ui-slider {
    background: linear-gradient(90deg, #78437b, #ffa345);
    width: 200px;
    float: left;
    margin: 4px 22px 0 17px;
}

.ui-slider .ui-slider-handle {
    position: absolute;
    z-index: 2;
    width: 1.2em;
    height: 1.2em;
    cursor: default;
    -ms-touch-action: none;
    touch-action: none;
}

.ui-slider .ui-slider-range {
    position: absolute;
    z-index: 1;
    font-size: .7em;
    display: block;
    border: 0;
    background-position: 0 0;
}
/* support: IE8 - See #6727 */
.ui-slider.ui-state-disabled .ui-slider-handle,
.ui-slider.ui-state-disabled .ui-slider-range {
    filter: inherit;
}

.ui-slider-horizontal {
    height: 7px;
}

.ui-slider-horizontal .ui-slider-handle {
    top: -.4em;
    margin-left: -16px;
    width: 33px;
    height: 18px;
    border: 1px solid #d7d7d7;
    border-radius: 8px;
    background: #fff url(../images/handle.png) no-repeat 50% 5px;
    background-size: 16px 8px;
    outline: none;
}

.ui-slider-horizontal .ui-slider-range {
    top: 0;
    height: 100%;
}

.ui-slider-horizontal .ui-slider-range-min {
    left: 0;
}

.ui-slider-horizontal .ui-slider-range-max {
    right: 0;
}

.ui-slider-vertical {
    width: .8em;
    height: 100px;
}

.ui-slider-vertical .ui-slider-handle {
    left: -.3em;
    margin-left: 0;
    margin-bottom: -.6em;
}

.ui-slider-vertical .ui-slider-range {
    left: 0;
    width: 100%;
}

.ui-slider-vertical .ui-slider-range-min {
    bottom: 0;
}

.ui-slider-vertical .ui-slider-range-max {
    top: 0;
}

#collection-filter {
    height: 47px;
    float: right;
}

#nav-collection-filter {
    list-style: none;
    margin: 0;
}

#nav-collection-filter li {
    float: left;
    height: 47px;
    background: url(../images/divide.png) no-repeat 100% 12px;
    margin: 0;
}

#nav-collection-filter li:last-child {
    background: none;
    margin-left: -2px;
}

#nav-collection-filter li a {
    float: left;
    height: 21px;
    padding: 15px 45px 10px 20px;
    font-size: 12px;
    color: #232323;
    text-decoration: none;
    background: url(../images/arrow-dropdown.png) no-repeat right 20px top 20px;
    background-size: 12px 7px;
    font-weight: normal;
}

#nav-collection-filter li:hover {
    border: 1px solid #d7d7d7;
    border-bottom: none;
    background: #fff;
}

#nav-collection-filter li:hover a {
    padding: 14px 44px 10px 19px;
    background: url(../images/arrow-dropdown.png) no-repeat right 19px top 19px;
    background-size: 12px 7px;
}

.mega-menu-filter {
    position: absolute;
    width: 100%;
    background: #fff;
    border-top: 1px solid #d7d7d7;
    border-bottom: 1px solid #d7d7d7;
    left: 0;
    top: 32px;
    padding: 25px 0 0 0;
    z-index: 1000;
    display: none;
}

#group-refine {
    position: relative;
}

.group-filter-collection {
    width: 330px;
    float: left;
    margin: 0 0 25px 30px;
}

#nav-collection-filter li span.border {
    position: relative;
    z-index: 1001;
    background: #fff;
    width: 100%;
    height: 1px;
    display: block;
    margin-top: 47px;
}

#nav-collection-filter li:hover span.border {
    margin-top: 46px;
}

#nav-collection-filter li:hover .mega-menu-filter {
    display: block;
}

.group-filter-collection h3 {
    font-size: 18px;
    text-transform: uppercase;
    font-weight: 300;
    margin: 0 0 20px 0;
}

#collection-filter {
    margin-top: -15px;
}

.nav-mega-menu-filter {
    list-style: none;
    margin: 0;
}

.nav-mega-menu-filter .checkbox {
    margin: 0 10px 0 0;
}

#nav-collection-filter li:hover .nav-mega-menu-filter li {
    border: none;
    margin: 0 0 15px 0;
    font-weight: 300;
    background: none;
    float: none;
    display: block;
    height: auto;
}

#bottom-filter-collection {
    clear: both;
    background: #fbf8f9;
    height: 66px;
    text-align: center;
    padding: 33px 0 0 0;
}

#nav-collection-filter li:hover .link-clear {
    float: none;
    padding: 0;
    background: none;
    text-decoration: underline;
}

#form-filter .button {
    width: 150px;
    height: 35px;
    border-radius: 2px;
    background: #232323;
    border: none;
    font-size: 13px;
    color: #fff;
    text-transform: uppercase;
    margin: 0 50px 0 0;
}

.box-collection {
    width: 359px;
    height: 715px;
    background: #fdf8f4;
    margin: 0 1px 1px 0;
    position: relative;
    float: left;
}

#list-collection {
    padding: 10px 0 0 0;
    margin: 0 0 35px 0;
}

.slideshow-collection {
    margin: 0 0 20px 0;
}

.slideshow-collection .flex-control-nav {
    display: none;
}

.slideshow-collection .flex-direction-nav {
    list-style: none;
    margin: 0;
}

.slideshow-collection .slides {
    list-style: none;
    margin: 0;
}

.slideshow-collection .flex-prev {
    width: 19px;
    height: 30px;
    position: absolute;
    background: url(../images/slide-prev.png) no-repeat;
    background-size: 19px 30px;
    top: 265px;
    left: 20px;
    text-indent: -9999px;
    display: none;
}

.slideshow-collection .flex-next {
    width: 19px;
    height: 30px;
    position: absolute;
    background: url(../images/slide-next.png) no-repeat;
    background-size: 19px 30px;
    top: 265px;
    right: 20px;
    text-indent: -9999px;
    display: none;
}

.box-collection h3 {
    text-align: center;
    font-size: 15px;
    font-weight: 300;
    margin: 0 60px 10px 60px;
    line-height: 1.7;
}

.box-collection-wrapper {
    position: absolute;
    width: 359px;
    height: 715px;
    z-index: 10;
}

.box-collection .more-detail {
    display: none;
}

.box-collection:hover .more-detail {
    display: block;
    text-align: center;
}

.box-collection .more-detail h4 {
    font-weight: bold;
    margin: 0 0 12px 0;
}

.more-detail a {
    font-size: 12px;
    text-decoration: underline;
    text-transform: uppercase;
    font-weight: 300;
    color: #232323;
    background: url(../images/arrow-next.png) no-repeat 100% 3px;
    background-size: 7px 11px;
    padding: 0 13px 0 0;
}

.box-collection:hover .box-collection-wrapper {
    height: 780px;
    background: #fff;
    z-index: 10000;
}

.box-collection:hover .slideshow-collection .flex-next,
.box-collection:hover .slideshow-collection .flex-prev {
    display: block;
}

.slideshow-collection .flex-disabled {
    opacity: 0.3;
}

.box-collection-promo {
    width: 719px;
    height: 715px;
    float: left;
    margin: 0 1px 1px 0;
}

.button-more-collection, .button-more-collection:link, .button-more-collection:visited {
    width: 400px;
    height: 50px;
    display: block;
    background: #232323;
    text-align: center;
    color: #fff;
    line-height: 50px;
    font-size: 13px;
    text-transform: uppercase;
    text-decoration: none;
    margin: 0 auto;
}

#nav-detail {
    list-style: none;
    margin: 0;
    background: #fdf8f4;
    height: 65px;
    text-align: center;
}

#nav-detail li {
    padding: 20px 0 0 0;
    display: inline-block;
    margin: 0 15px;
}

#nav-detail li a, #nav-detail li a:link, #nav-detail li a:visited {
    display: block;
    color: #232323;
    font-size: 14px;
    text-decoration: none;
    text-transform: uppercase;
}

#nav-detail li.active a {
    text-decoration: underline;
}

#featured-image {
    background: url(../images/gradient.png) repeat-x 0 100%;
    text-align: center;
}

#title-detail {
    font-size: 50px;
    color: #232323;
    font-weight: 300;
    text-align: center;
    margin: 0 0 25px 0;
}

#group-button {
    position: relative;
    height: 35px;
    margin: 0 0 75px 0;
}

/* Contact a specialist for pricing. Used when hiding pricing. */
.button-contact, .button-contact:link, .button-contact:visited,
.button-specialist, .button-specialist:link, .button-specialist:visited {
    width: 190px;
    height: 35px;
    background: #232323;
    text-align: center;
    color: #fff;
    font-size: 10px;
    text-transform: uppercase;
    text-decoration: none;
    display: block;
    line-height: 35px;
    position: absolute;
    left: 50%;
    margin-left: -200px;
}
.button-specialist, .button-specialist:link {
    position: inherit;
    display: inline-block;
    left: 0;
    margin-left: 0;
}
.professional-live-chat-button, .professional-live-chat-button:link {
    margin-left: 10px;
    position: relative;
    left: auto;
}

.button-trial, .button-trial:link, .button-trial:visited {
    width: 148px;
    height: 33px;
    display: block;
    border: 1px solid #ccc;
    text-align: center;
    line-height: 33px;
    color: #232323;
    font-size: 10px;
    text-transform: uppercase;
    text-decoration: none;
    position: absolute;
    left: 50%;
    margin-left: 10px;
}
/* end contact a specialist / in home trial */

.title-detail {
    text-align: center;
    font-size: 40px;
    font-weight: 300;
    margin: 0 0 35px 0;
}

.title-detail span {
    position: relative;
}

.title-detail span:before {
    content: "";
    width: 15px;
    height: 1px;
    background: #666;
    position: absolute;
    z-index: 10;
    top: 25px;
    left: -25px;
}

.title-detail span:after {
    content: "";
    width: 15px;
    height: 1px;
    background: #666;
    position: absolute;
    z-index: 10;
    top: 25px;
    right: -25px;
}

#description-feature {
    width: 864px;
    float: left;
    border-right: 1px solid #ccc;
    padding: 0 50px 0 0;
}

#tonal-profile {
    width: 450px;
    float: left;
    padding: 0 0 0 40px;
}

#tonal-profile p {
    font-weight: 300;
    text-align: center;
    margin: 0 0 60px 0;
}

#tonal-profile h3 {
    text-align: center;
    margin: 0 0 50px 0;
}

.label-left {
    width: 118px;
    float: left;
    font-size: 12px;
    text-align: right;
    text-transform: uppercase;
    padding: 0 7px 0 0;
}

.bar {
    width: 200px;
    position: relative;
    height: 7px;
    border-radius: 5px;
    float: left;
    margin: 4px 0 0 0;
}

.label-right {
    width: 118px;
    float: left;
    font-size: 12px;
    text-align: left;
    text-transform: uppercase;
    padding: 0 0 0 7px;
}

.profile-1 {
    background: linear-gradient(90deg, #265e6f, #c93834);
}

.profile-2 {
    background: linear-gradient(90deg, #63710f, #ffcc66);
}

.profile-3 {
    background: linear-gradient(90deg, #78437b, #ffa345);
}

.bar .dot-1,
.bar .position-1 {
    left: 16.6%;
}

.bar .dot-2,
.bar .position-2 {
    left: 33.3%;
}

.bar .dot-3,
.bar .position-3 {
    left: 50%;
}

.bar .dot-4,
.bar .position-4 {
    left: 66.6%;
}

.bar .dot-5,
.bar .position-5 {
    left: 83.3%;
}

.slider-container {
    margin: 0 0 55px 0;
}

.bar span {
    width: 23px;
    height: 17px;
    background: url(../images/bar.png) no-repeat;
    background-size: 23px 17px;
    position: absolute;
    z-index: 10;
    top: -5px;
    margin-left: -11px;
}

.content-detail {
    margin: 0 0 70px 0;
}

.grid-item,
.grid-sizer {
    width: 25%;
    float: left;
}

.grid-item {
    margin-bottom: 30px;
}

.grid-item--width2 {
    width: 48%;
}

.grid img {
    vertical-align: top;
    margin: 0 2%;
}

.grid-item--width2 img {
    margin: 0 1%;
}

#maker-about {
    width: 654px;
    float: left;
    border-right: 1px solid #ccc;
    padding-right: 65px;
}

.title-maker {
    font-size: 30px;
    font-weight: 300;
    margin: 0 0 20px 0;
}

#image-about {
    float: left;
    margin: 0 40px 0 0;
}

#maker-award {
    width: 655px;
    float: left;
    padding-left: 65px;
}

.title-maker.award {
    padding-left: 45px;
    background: url(../images/icon-award.png) no-repeat 0 2px;
    background-size: 33px 30px;
}

#list-award {
    list-style: none;
    margin: 0;
}

#list-award li {
    font-weight: 300;
    margin: 0 0 8px 0;
    background: url(../images/dotted.png) no-repeat 0 10px;
    background-size: 3px 2px;
    padding: 0 0 0 10px;
}

#maker-about .static-page p {
    line-height: 1.9;
}

#image-country {
    float: left;
    width: 700px;
}

#tabs-origin {
    width: 660px;
    float: right;
}

#nav-tabs-origin {
    list-style: none;
    margin: 0;
    margin: 0 0 45px 0;
}

#nav-tabs-origin li {
    float: left;
    margin: 0 60px 0 0;
}

#nav-tabs-origin li a {
    text-transform: uppercase;
    font-size: 13px;
    text-decoration: none;
    color: #232323;
}

#nav-tabs-origin li.ui-tabs-active a {
    text-decoration: underline;
}

.read-more {
    font-weight: normal;
    color: #232323;
}
/* Static Page
=====================================================================*/
.static-page img {
    margin: 5px 0 25px 0;
    height: auto;
}

.static-page img.imgframe {
    max-width: 97.5%;
    border: 5px solid #f3f6f8;
}

img.alignleft, .static-page img.alignleft {
    margin-right: 40px;
    float: left;
    width: 45%;
    float: left;
}

img.alignright, .static-page img.alignright {
    margin-left: 40px;
    float: right;
    width: 45%;
    float: right;
}

.static-page h1,
.static-page h2,
.static-page h3,
.static-page h4,
.static-page h5,
.static-page h6 {
    line-height: 1.3;
    color: #4a4a4a;
    font-weight: bold;
}

.static-page h1 {
    font-size: 40px;
    margin: 30px 0;
}

.static-page h2 {
    font-size: 24px;
    margin: 25px 0;
}

.static-page h3 {
    font-size: 20px;
    margin: 22px 0;
}

.static-page h4 {
    font-size: 14px;
    margin: 25px 0;
}

.static-page h5 {
    font-size: 14px;
    margin: 30px 0;
    font-weight: normal;
}

.static-page h6 {
    font-size: 12px;
    margin: 36px 0;
}

.static-page p {
    margin: 0 0 24px;
    line-height: 1.7;
    font-size: 15px;
    font-weight: 400;
}

.static-page blockquote,
.static-page blockquote p {
    font-size: 24px;
    font-weight: bold;
    font-style: italic;
}

.static-page blockquote {
    width: 130%;
    margin-left: -15%;
    text-align: center;
}

.static-page ul, .static-page ol {
    margin: 0 0 24px 30px;
    line-height: 1.7;
    font-size: 15px;
    font-weight: 400;
}

.static-page hr {
    border: none;
    background: #a7a9ab;
    height: 1px;
    font-size: 0;
    margin: 30px 0;
}

.static-page p img {
    margin: 0;
}

.static-page iframe {
    width: 100%;
    height: 400px;
    margin: 0 0 25px 0;
}

/* Footer
=====================================================================*/
#main-footer {
    margin: 80px 0 0 0;
}

#footer-top {
    background: #fbf8f9;
    padding: 35px 0;
}

#box-address {
    width: 180px;
    float: left;
    margin: 0 25px 0 0;
    padding: 0 0 0 70px;
    background: url(../images/icon-pin.png) no-repeat;
    background-size: 50px 65px;
}

#address {
    width: 185px;
    float: right;
}

#box-address h4 {
    font-size: 14px;
    text-transform: uppercase;
    font-weight: 600;
    margin: 4px 0 15px 0;
}

#box-address p {
    font-size: 15px;
    font-weight: 400;
    margin: 0 0 30px 0;
    line-height:21px;
}

#box-address ul {
    list-style: none;
    margin: 0;
}

#box-address ul li {
    margin: 0 0 25px 0;
}

#box-address ul li a {
    font-size: 15px;
    color: #232323;
    text-transform: uppercase;
}

#box-nav-footer {
    width: 250px;
    float: left;
    margin: 0 25px 0 0;
}

#box-nav-footer ul {
    list-style: none;
    margin: 0;
}

#box-nav-footer ul li {
    margin: 0 0 25px 0;
    font-size: 15px;
    height: 28px;
}

#box-nav-footer ul li a, #box-nav-footer ul li a:link, #box-nav-footer ul li a:visited {
    color: #232323;
    text-transform: uppercase;
    font-weight: 700;
    text-decoration: none;
}

#box-nav-footer ul li a {
    height: 24px;
    display: block;
    padding: 4px 0 0 45px;
}

#box-footer-container {
    width: 550px;
    float: left;
}

.box-footer h4,
.footer-item h4 {
    font-size: 15px;
    text-transform: uppercase;
    font-weight: bold;
    margin: 0 0 15px 0;
}

.footer-item {
    width: 250px;
    margin-right: 25px;
}

.nav-footer {
    list-style: none;
    margin: 0 0 50px 0;
}

.nav-footer li {
    font-size: 15px;
    margin: 0 0 12px 0;
}

.nav-footer li a {
    color: #232323;
    font-weight: 400;
    text-decoration: none;
}

.icon-blog a {
    background: url(../images/icon-blog.png) no-repeat;
    background-size: 28px 28px;
}

.icon-catalog a {
    background: url(../images/icon-catalog.png) no-repeat;
    background-size: 28px 28px;
}

.icon-shar a {
    background: url(../images/icon-shar.png) no-repeat;
    background-size: 36px 36px;
}

.icon-phone em {
    background: url(../images/icon-phone.png) no-repeat;
    background-size: 28px 28px;
}

.icon-phone em {
    font-style: normal;
    display: block;
    height: 24px;
    display: block;
    padding: 4px 0 0 45px;
    font-weight:700;
}

.box-footer {
    width: 250px;
    float: left;
    margin: 0 25px 0 0;
}

#nav-social {
    list-style: none;
    margin: 0;
    float: right;
}

#nav-social li {
    width: 40px;
    height: 40px;
    float: left;
    margin: 0 0 0 20px;
}

#nav-social li:first-child {
    margin: 0;
}

#nav-social li a {
    border-radius: 20px;
    width: 38px;
    height: 38px;
    border: 1px solid #222;
    float: left;
    text-indent: -9999px;
}

#icon-facebook a {
    background: url(../images/icon-facebook.png) no-repeat 50% 8px;
    background-size: 22px 22px;
}

#icon-twitter a {
    background: url(../images/icon-twitter.png) no-repeat 50% 8px;
    background-size: 22px 22px;
}

#icon-instagram a {
    background: url(../images/icon-instagram.png) no-repeat 50% 8px;
    background-size: 22px 22px;
}

#icon-youtube a {
    background: url(../images/icon-youtube.png) no-repeat 50% 8px;
    background-size: 22px 22px;
}

#icon-rss a {
    background: url(../images/icon-rss.png) no-repeat 50% 8px;
    background-size: 22px 22px;
}

#icon-email a {
    background: url(../images/icon-email.png) no-repeat 50% 8px;
    background-size: 22px 22px;
}

#footer-bottom {
    background: #f7f1f3;
    padding: 30px 0;
}

.nav-footer ul {
    list-style: none;
    margin: 10px 0 0 10px;
}

#copyright {
    font-size: 12px;
    font-weight: bold;
    text-transform: uppercase;
    text-align: center;
}

.heart {
    color: #c7332f;
}

.shar-collection {
    font-family: 'Tangerine', cursive;
    font-weight: 700;
    text-transform: none;
    font-size: 32px;
}

#box-nav-footer ul li.icon-catalog {
    margin-bottom: 18px;
}

#box-nav-footer ul li.icon-shar {
    margin: 0 0 10px 0;
    font-size: 15px;
    height: 50px;
}

#box-nav-footer ul li.icon-shar a {
    line-height: 47px;
    padding-top: 0;
    height: 50px;
}

/* Fix issue with Safari Mobile displaying phone number off too far from the icon. */
#box-nav-footer ul li.icon-phone a {
    padding-left: 0;
}

.star-container {
    background: url('/images/stars-small.png');
    background-repeat: no-repeat;
}

#product-info .star-rate .star-container,
#review .star-rate .star-container {
    width: 115px;
    height: 22px;
    cursor: pointer;
    margin: 0;
}

#product-detail-description .star-container {
    margin: 0 5px 8px auto;
}

#review .star-rate .star-container {
    cursor: default;
    float: left;
}

.star-container.rate00 {
    background-position: 0% 100%;
}

.star-container.rate05 {
    background-position: 0% 90%;
}

.star-container.rate10 {
    background-position: 0% 80%;
}

.star-container.rate15 {
    background-position: 0% 70%;
}

.star-container.rate20 {
    background-position: 0% 60%;
}

.star-container.rate25 {
    background-position: 0% 50%;
}

.star-container.rate30 {
    background-position: 0% 40%;
}

.star-container.rate35 {
    background-position: 0% 30%;
}

.star-container.rate40 {
    background-position: 0% 20%;
}

.star-container.rate45 {
    background-position: 0% 10%;
}

.star-container.rate50 {
    background-position: 0% 0%;
}

#tabs-additional .content-tabs {
    line-height: 1.7;
    font-size: 15px;
    font-weight: 400;
}

#tabs-additional blockquote,
#tabs-additional blockquote p {
    width: auto;
    margin-left: 0;
    font-size: 15px;
}

.error-message {
    display: none;
    margin: 25px 0 0 0;
    color: red;
}

#product-image {
    height: 600px;
    width: 890px;
    padding-bottom: 25px;
    display: table-cell;
    vertical-align: middle;
    text-align: center;
}

#product-image .magic360-container,
#product-image #video-container,
#product-image .sound-clip-container {
    display: none;
    margin: auto;
}

#product-image #jplayer-container {
    padding: 170px 30px;
    display: none;
}

.sound-clip-list {
    z-index: 20;
    background: white;
    margin: 0;
    /*display: none;*/
}

.sound-clip-list {
    list-style: none;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}

.jplayer-container {
    /*display:none;*/
}

.sound-link a {
    width: 100px;
    height: 100px;
    border: 1px solid #ccc;
    float: left;
    margin: 20px;
    text-decoration: none;
}

.sound-link img {
    width: 75px;
    height: 75px;
}

div.jp-audio {
    margin: 0 auto;
}

div.error {
    border-color: #EBCCD1;
    background-color: #F2DEDE;
    color: #A94442;
    padding: 10px;
    border-radius: 4px;
}

.checkout div.error {
    margin-bottom: 10px;
}

label.error {
    display: block;
    color: #A94442;
    font-size: 15px;
    clear: both;
    margin-top: -7px;
    margin-bottom: 10px;
}

input.error,
textarea.error {
    border-color: #EBCCD1 !important;
    background-color: #F2DEDE !important;
    color: #A94442 !important;
}

.center {
    text-align: center;
}

.ellip {
    display: block;
    height: 100%;
}

.ellip-line {
    display: inline-block;
    text-overflow: ellipsis;
    white-space: nowrap;
    word-wrap: normal;
    max-width: 100%;
}

.ellip,
.ellip-line {
    position: relative;
    overflow: hidden;
}

.price-range-container {
    margin-bottom: 10px;
}

.max-price {
    float: right;
}

.review-container {
    width: 1000px;
    margin: 0 auto;
    padding: 25px 10px;
}

.review-container .product-info {
    width: 46%;
    float: left;
    margin-right: 4%;
}

.reviewer-info {
    float: right;
    width: 46%;
    margin-left: 4%;
}

.image-upload {
    margin-top: 7px;
}

.input-container {
    margin-bottom: 15px;
}

.cancel {
}

.input-container .star-rating {
    margin-top: 7px;
}

.form-ui .input,
.form-ui .select,
.form-ui .button {
    width: 100%;
    box-sizing: border-box;
}

.center {
    text-align: center;
}

.form-ui .textarea {
    height: 158px;
    font-family: Arial, Montserrat, sans-serif;
    font-size: 14px;
    padding: 5px;
}

.reviewer-info .error {
    margin-bottom: 15px;
}

.review-success {
    width: 100%;
    text-align: center;
    display: block;
    font-size: 16px;
}

.loadmask {
    z-index: 100;
    position: absolute;
    top: 0;
    left: 0;
    -moz-opacity: 0.5;
    opacity: .50;
    filter: alpha(opacity=50);
    background-color: #CCC;
    width: 100%;
    height: 100%;
    zoom: 1;
}

.style-selector-container .style-selector input[type=radio] {
    display: none;
}

.style-selector-container .style-selector label {
    float: left;
    width: 100%;
    height: 100%;
}

.style-selector-container .style-selector li {
    float: left;
    position: relative;
}

.style-selector-container .list-size.style-selector li {
    margin: 0 10px 10px 0;
}

.style-selector-container .list-size.style-selector label {
    border: 1px solid #ccc;
    border-radius: 2px;
    padding-left:10px;
    padding-right:10px;

    min-width: 100px;
    height: 40px;
    line-height: 40px;
    text-align: center;
    box-sizing:border-box;
}

.compare-beginning .style-selector-container .list-size.style-selector label {
    height:38px;
    line-height:38px;
    font-size:15px;
}


.style-selector-container .list-color.style-selector li {
    width: 28px;
    height: 28px;
    padding: 2px;
    margin: 0 14px 0 0;
}

.style-selector-container .list-color.style-selector label {
    padding: 2px;
    border: 1px solid #d8d8d8;
    margin: 0 14px 0 0;
    border-radius: 50%;
    box-sizing: border-box;
    line-height: 28px;
    -webkit-box-shadow: 4px 3px 5px 0px rgba(35,35,35,.8);
    -moz-box-shadow: 4px 3px 5px 0px rgba(35,35,35,.8);
    box-shadow: 4px 3px 5px 0px rgba(35,35,35,.8);
}

.style-selector-container .list-color.style-selector label div {
    height: 100%;
    width: 100%;
}

.style-selector-container .list-color.style-selector label span {
    display: block;
    height: 100%;
    border-radius: 50%;
}

.style-selector-container .style-selector input:checked + label {
    border: 1px solid #265e6f;
    box-shadow: 4px 3px 5px 0px rgba(38,94,111,1);
    -webkit-box-shadow: 4px 3px 5px 0px rgba(38,94,111,1);
    -moz-box-shadow: 4px 3px 5px 0px rgba(38,94,111,1);
}

.style-selector-container .style-selector input.disabled + label {
    opacity:.2;
}

.style-selector-container .style-selector input.disabled + label div:after {
    /*content: '\d7';
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    font-weight: normal;
    color: red;
    opacity: 0.5;
    font-size: 100px;*/
}

.style-selector-container .list-color.style-selector input.disabled + label div:after {
    /*top: -1px;
    left: -14px;*/
}

.style-selector-container .style-components {
    display: none;
}

.empty-cart-message {
    font-size: 16px;
    padding: 30px 0;
}

.form-ui.email-signup-form .two-columns {
    margin: 20px auto 0 auto;
}

.email-signup-form .two-columns .column {
    float: left;
}
.email-signup-form .two-columns .column:last-child {
    margin-right:0;
}
.contact-info {
    width: 55%;
    margin-right:4%;
}
.contact-preferences {
    width:41%;
}
.contact-info .name-group {
    width: auto;
}
.contact-info .name-group:nth-child(2) {
    margin-right:0;
}
form.form-ui.email-signup-form {
    width: 1440px;
    margin: 0 auto;
}
.email-signup-form strong {
    margin:10px 0 15px;
    display:block;
    line-height:20px;
}
.email-signup-form .right-label {
    margin-bottom:10px;   
}
#list-mini-cart .content-mini-cart a {
    color: #232323;
    text-decoration: none;
}
#list-mini-cart .os-scrollbar-horizontal {
    display: none !important;
}

/* Start Quickview modal styling */
.quickview-modal #modal-title {
    display: none;
}

.quickview-modal #title-product-detail {
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    text-transform: none;
}

.quickview-modal#container-popup-cart {
    width: 1150px; /* The original design has the quickview modal at 1150px wide. */
    margin-left: auto;
    margin-right: auto;
    overflow-y: auto;
    /*max-height: 750px; this unintentionally scroll bars for some modals and not others... commenting it out for reference. */
}

.quickview-modal #slideshow-product {
    position: relative;
    width: 600px;
    display: inline-block;
    vertical-align: top;
    margin: 20px 20px 20px 0px; /* Margin everywhere except left, which is on the outer container. */
    box-sizing: border-box;
}

.quickview-modal #product-info {
    position: relative;
    width: 400px; 
    max-width:100vw; /* Fix issue with quick view in modal coming up from cart */
    margin: 20px 0px 20px 20px; /* Margin everything except right, which is on the outer container. */
    display: inline-block;
    vertical-align: top;
    top: 0;
}
.quickview-modal #mobile-flexslider {
    max-width: 100vw;
}
#mobile-flexslider {
    visibility: hidden;
}

.quickview-modal #product-image {
    height: 400px;
}

.quickview-modal #product-image,
.quickview-modal #product-image figure,
.quickview-modal #product-image figure img {
    width: 600px; /* Lock the image size for the magic zoom down. */
    max-width: 600px !important;
}

.quickview-modal #form-product {
    border-bottom: none;
}

.quickview-modal .product-details-base-info {
    border-bottom: 1px solid #ccc;
    margin: 40px; /* All around margin of 40px to match the original design. */
}

a.quickview-details-link {
    text-align: center;
    margin: 30px auto 20px;
    display: block;
    color: #232323;
    font-size: 18px;
}

.quickview-modal #carousel {
    width: 400px;
    margin: auto;
}

.label-shipping {
    display: inline-block;
}

.indent-left,
#shipping-address #select-address,
#shipping-address .buyer-info,
#billing-address .buyer-info,
#form-payment .payment-content {
    margin-left: 32px;
}

.indent-left .multi-fields .name-group:nth-child(2) {
    margin-right: 0;
}



.quickview-modal #product-image img {
    max-height: 400px;
    width: auto;
}

.quickview-modal #video-container .youtube-video {
    max-height: 400px;
    max-width: 90%;
}

.quickview-modal .magic360-container .Magic360 {
    vertical-align: top !important;
}

.quickview-modal #product-image .magic360-container img {
    max-height: unset;
}
/* End quickview modal styling */

.account-detail-form#form-new .select {
    margin-top: 7px;
}

.account-detail-form#form-new .select {
    width: 380px;
    height: 40px;
}

#myaccount-content.create-account {
    float: none;
    margin: 30px auto;
    display: block;
    width: 802px;
}

.create-account .name-group:nth-child(2) {
    margin-right: 0;
}

.create-account .name-group {
    width: 380px;
}

.myaccount-content form {
    margin-top: 20px;
}

.myaccount-content.edit-account form {
    margin-top: 0;
}

.search-results-container {
    padding-top: 30px;
}

#main-footer.dark #footer-top,
#main-footer.dark #footer-bottom {
    background: #232323;
}

#main-footer.dark #box-address h4,
#main-footer.dark .box-footer h4,
#main-footer.dark .nav-footer li a,
#main-footer.dark #box-address p,
#main-footer.dark #box-address ul li a,
#main-footer.dark .icon-phone em,
#main-footer.dark #box-nav-footer ul li a, #main-footer.dark #box-nav-footer ul li a:link, #main-footer.dark #box-nav-footer ul li a:visited,
#main-footer.dark #footer-bottom {
    color: #fff;
}

#main-footer.dark #nav-social li a {
    border: 1px solid #fff;
}

#main-footer.dark #box-address {
    background: url(../images/icon-pin-white.png) no-repeat;
    background-size: 50px 65px;
}

#main-footer.dark .icon-blog a {
    background: url(../images/icon-blog-white.png) no-repeat;
    background-size: 28px 28px;
}

#main-footer.dark .icon-catalog a {
    background: url(../images/icon-catalog-white.png) no-repeat;
    background-size: 28px 28px;
}

#main-footer.dark .icon-shar a {
    background: url(../images/icon-shar-white.png) no-repeat;
    background-size: 28px 28px;
}

#main-footer.dark .icon-phone em {
    background: url(../images/icon-phone-white.png) no-repeat;
    background-size: 28px 28px;
}

#main-footer.dark #icon-facebook a {
    background: url(../images/icon-facebook-white.png) no-repeat 50% 8px;
    background-size: 22px 22px;
}

#main-footer.dark #icon-twitter a {
    background: url(../images/icon-twitter-white.png) no-repeat 50% 8px;
    background-size: 22px 22px;
}

#main-footer.dark #icon-instagram a {
    background: url(../images/icon-instagram-white.png) no-repeat 50% 8px;
    background-size: 22px 22px;
}

#main-footer.dark #icon-youtube a {
    background: url(../images/icon-youtube-white.png) no-repeat 50% 8px;
    background-size: 22px 22px;
}

#main-footer.dark #icon-rss a {
    background: url(../images/icon-rss-white.png) no-repeat 50% 8px;
    background-size: 22px 22px;
}

#main-footer.dark #icon-email a {
    background: url(../images/icon-email-white.png) no-repeat 50% 8px;
    background-size: 22px 22px;
}

#main-footer.dark #footer-top {
    padding-bottom:0;
}
.mobile.product-media {
    list-style: none;
    margin: 0;
}
.product-media .slides {
    margin: 0;
}

#nav-login #icon-login a.logout {
    background:none;
    padding-left:5px;
}
}
#list-recommended .star-rate .star-container {
    height: 22px;
    display: block;
    background-position-x: 50%;
}
.sitemap-category-wrapper {
    display: table;
    table-layout: fixed;
    width: 100%;
}

.sitemap-category-column {
    display: table-cell;
}

.sitemap-category-wrapper ul {
    list-style: none;
    margin-left: 0;
    padding-left: 1em;
}

.sitemap-category-wrapper ul ul {
    /*display: none;*/
}
.sitemap-category-wrapper ul span::after {
    content: '';
    display: inline-block;
    width: 1em;
    text-align: center;
    font-family: FontAwesome;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 12px;
}
.sitemap-products-wrapper {
    display: table;
}
.sm_a2z_col {
    display: table-cell;
}
.paypal-button {
    width:370px;
}
#form-main-cart .paypal-button {
    width:100%;
    margin-top:20px;
}
.terms-conditions {
    margin-bottom: 25px;
}
.po-number-container {
    margin-top:10px;
}
#form-payment .po-number-container label {
    margin-bottom: 0px;
}
#text-billme {
    margin-bottom:10px;
}
.digital-download-options > div {
    margin-bottom: 10px;
}
.tooltip-popup-message {
    position: absolute;
    width: 290px;
    color: black;
    border: 2px solid #e3e3e3;
    background-color: white;
    padding: 20px;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    text-indent: 0;
    font-weight: normal;
    z-index: 999;
    text-transform: none;
    /*border-radius: 0px 5px 5px 5px;*/
    font-size: 13px;
    left: -135px;
    bottom: 35px;
    line-height:19px;
    text-align:left;
    cursor:default;
    box-sizing: border-box;
}
.link-help.tooltip {
    position: relative;
    cursor: pointer;
}
.tooltip-popup-message:before {
    content: "";
    width: 40px;
    height: 20px;
    background: url(../images/shopping-cart-triangle.png) no-repeat;
    background-size: 40px 20px;
    position: absolute;
    z-index: 10;
    bottom: -20px;
    left: 120px;
}
#taxes .tooltip-popup-message {
    width: 450px;
    left: -338px;
}
#taxes .tooltip-popup-message:before {
    left: 323px;
}
.rentals-landing-hero img {
    float:left;
}
#title-rental {
    clear: both;
    font-size: 30px;
    text-transform: uppercase;
    font-weight: normal;
    padding: 12px 0 7px 0;
    border-bottom: 1px solid #ccc;
    margin: 0 0 20px 0;
}
#form-rental {
    width: 350px;
    float: left;
    text-align: center;
}
#rental-content {
    width: 70%;
    float: right;
    margin: 0 0 50px 0;
}
#form-rental h3 {
    font-size: 28px;
    text-transform: uppercase;
    font-weight: 400;
    margin: 0 0 10px 0;
}
#form-rental .select {
    font-style: italic;
    padding: 5px 0 5px 5px;
}
.rentals-landing .link-rentals-continue {
    margin-top: 10px;
}
#rental-content h3 {
    font-size: 15px;
    font-weight: normal;
    margin: 0 0 15px 0;
    line-height: 1.4;
}
#rental-list {
    background: #fbf8f9;
    
    padding: 20px;
    margin: 0 0 20px 0;
}
#rental-list ul li {
    font-size: 14px;
    margin: 0 0 10px 0;
}
.rentals-landing-hero { 
    margin:30px 0 30px;
}
.rentals-landing #title-category {
    margin-bottom:50px;
    text-transform:none;
}
#category-intro.rentals-landing h1 {
    text-transform: none;
}
.rentals-description {
    padding-top: 20px;
    font-size: 18px;
    line-height: 1.7;
    margin: 0 0 20px 0;
    font-weight: 300;
    display: block;
}
.customer-information-wrapper .tt-menu {
    background-color: white;
    width: 100%;
    top: 46px !important;
    border: 1px solid #ccc;
    box-sizing: border-box;
}
.customer-information-wrapper .tt-suggestion {
    padding: 5px 10px;
}
.customer-information-wrapper .tt-cursor {
    background-color: #ddd;
}
.you-saved-container {
    margin-top: 20px;
}
#promotion-header-text {
    font-weight: bold;
}
#promotion-summary {
    list-style: none;
    margin: 0;
}
#promotion-summary li {
    margin-top: 5px;
}
.rentals-accordion .services-content {
    display:none;
}
.rentals-accordion ul {
    margin-bottom: 20px;
}
.rentals-accordion ul li {
    margin-bottom:10px;
}
.rentals-accordion .button-more {
    margin-top:5px;
}
.accordion-content-link {
    margin-left:10px;
}
.static-content td {
    vertical-align:middle;
}
.static-content tr {
    margin-bottom:15px;
}
.static-content table {
    border-spacing: 15px;
    border-collapse: separate;
    line-height: 19px;
}
.shar-collection-link a {
    padding-left:0;
    margin-top:8px;
}
.shar-collection-link img {
    height:15px;
}
.blog_image{
    max-width: 30%;
}
.nav-sub-learn a.active{
    font-weight: bold;
}
.sitemap-category .expand-icon {
    margin-right:10px;
    text-decoration:none;
    cursor:pointer;
    width:10px;
    display:inline-block;
}
.subcat-container {
    display:none;
}
.sitemap-category li {
    margin:5px 0;
}
#information_pages .title-listing {
    margin-top:15px;
}
.title-page {
    font-size: 30px;
    font-weight: 400;
    margin: 40px 0 20px 0;
}

/* Customize the label (the container) */
.checkbox-container {
    position: relative;
    padding-left: 35px;
    margin-bottom: 10px;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    line-height:23px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

/* Hide the browser's default checkbox */
.checkbox-container input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
}

/* Create a custom checkbox */
.checkmark {
    position: absolute;
    top: 0;
    left: 0;
    height: 21px;
    width: 21px;
    background-color: #fff;
    border:1px solid #ccc;
}

/* On mouse-over, add a grey background color */
.checkbox-container:hover input ~ .checkmark {
  /*background-color: #ccc;*/
}

/* When the checkbox is checked, add a blue background */
.checkbox-container input:checked ~ .checkmark {
    background-color: #fff;
}

/* Create the checkmark/indicator (hidden when not checked) */
.checkmark:after {
    content: "";
    position: absolute;
    display: none;
}

/* Show the checkmark when checked */
.checkbox-container input:checked ~ .checkmark:after {
    display: block;
}

/* Style the checkmark/indicator */
.checkbox-container .checkmark:after {
    left: 7px;
    top: 3px;
    width: 5px;
    height: 10px;
    border: solid #232323;
    border-width: 0 3px 3px 0;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}
.search-container {
    position: relative;
}
.search-container .clear-search-term {
    position: absolute;
    right: 0;
    top: 2px;
    display: none; /* Hide initially until it needs to show */
}
.tt-product-container > a {
    display: table;
}
.tt-product-container > a > div {
    display: table-cell;
    vertical-align: top;
    padding-right: 10px;
}
.tt-product-container > a > div:first-of-type {
    width: 100px;
}
#email-signup .date {
    padding:7px 5px;
}
/* Rentals
=====================================================================*/
#slider-rental {
    width:770px;
    height: 290px;
    float:left;
    position: relative;
}
#slider-rental .flex-direction-nav {
    display: none;
}
#slider-rental .flex-control-nav {
    position: absolute;
    height: 17px;
    z-index: 5;
    right: 10px;
    bottom: 7px;
}
#slider-rental .flex-control-nav li {
    width: 14px;
    height: 17px;
    float: left;
    margin: 0 2px 0 0;
    text-indent: -9999px;
}
#slider-rental .flex-control-nav li a {
    width: 14px;
    height: 17px;
    float: left;
    background: url(../images/bullet-knowledge.png) no-repeat;
}
#slider-rental .flex-control-nav li a:hover, #slider-rental .flex-control-nav li a.flex-active {
    background-position: 0 -17px;
}
#rental-small {
    width:200px;
    float:right;
}
#rental-small ul li {
    margin:0 0 10px 0;
}
#rental-small ul li img {
    vertical-align: top;
}
#title-rental {
    clear: both;
    font-size:21px;
    text-transform: uppercase;
    font-weight: normal;
    padding:12px 0 7px 0;
    border-bottom:1px solid #ccc;
    margin:0 0 20px 0;
}
#rental-content p {
    font-size:13px;
    line-height: 1.4;
}
#testimonial-rental {
    height:115px;
    background: #303030;
    color:#fff;
    text-align: center;
    padding:25px 5px 0 5px;
}
#testimonial-rental h3 {
    font-size:18px;
    color:#fff;
    text-transform: uppercase;
    font-weight: normal;
    text-decoration: underline;
    margin:0 0 15px 0;
}
#testimonial-rental p, #testimonial-rental h4 {
    font-size:13px;
    line-height: 1.4;
}
#testimonial-rental h4 {
    font-style: italic;
}
#rental-text {
    clear: both;
    border-bottom:1px solid #ccc;
    padding:0 0 8px 0;
    margin:0 0 35px 0;
}
#rental-text p {
    font-size:15px;
    line-height: 1.4;
}
#national-product {
    border-top:1px solid #e5e5e5;
    padding:15px 0 0 0;
    background: url(../images/shadow-category.png) no-repeat 50% 0;
}
#form-national .button.cart {
    width: 116px;
    height: 25px;
    border: none;
    border-radius: 2px;
    background: #903a4b;
    font-size: 13px;
    text-transform: uppercase;
    color: #fff;
    margin: 0 0 13px 0;
}
#form-national .parent-product-description h3 {
    font-size: 16px;
    margin: 0 0 8px 0;
    text-align: left;
    text-transform: none;
    font-weight: bold;
}
/* Teacher
=====================================================================*/
#teacher-container {
    clear:both;
    background: #fff;
}
.box-teacher {
    width:442px;
    float:left;
    border:1px solid #d4c6ad;
    box-shadow:0 0 60px #f0ebe1 inset;
    padding:20px;
    margin:0 0 30px 0;
}
.box-teacher h2 {
    text-transform: uppercase;
    font-size:21px;
    font-weight: normal;
    margin:0 0 15px 0;
}
.box-teacher p {
    font-size:13px;
    line-height: 1.4;
    margin:0 0 15px 0;
}
.box-teacher h3 {
    font-size:13px;
    text-transform: uppercase;
    margin:0 0 15px 0;
}
.form-login-teacher {
    padding:10px 0 0 0;
}
.form-login-teacher label {
    font-size:13px;
    width:96px;
    float:left;
    padding:4px 0 0 0;
}
.form-login-teacher .input {
    width:259px;
    height: 15px;
    border:1px solid #ccc;
    float:left;
    margin:0 0 13px 0;
    box-shadow:0 2px 4px rgba(0,0,0,0.1) inset;
    padding:3px 5px;
}
.form-login-teacher br {
    clear:both;
}
.form-login-teacher a, .form-login-teacher a:link, .form-login-teacher a:visited {
    font-size:11px;
    color:#333;
}
.form-login-teacher .button {
    width:120px;
    height: 25px;
    border:none;
    background: #8e3a4b;
    border-radius: 2px;
    box-shadow:0 0 5px rgba(0,0,0,0.2) inset;
    font-size:13px;
    color:#fff;
    text-transform: uppercase;
    margin:14px 0 35px 0;
}
.button-register-teacher, .button-register-teacher:link, .button-register-teacher:visited {
    width:130px;
    height: 25px;
    line-height: 25px;
    background: #c8a968;
    border-radius: 2px;
    box-shadow:0 0 5px rgba(0,0,0,0.2) inset;
    font-size:13px;
    color:#fff;
    text-transform: uppercase;
    display: block;
    text-align: center;
    text-decoration: none;
}
.box-teacher.last {
    float:right;
}
.teachers-container.wrapper {
    width: 1000px;
}
#slider-rental .slides,
#rental-small ul {
    list-style: none;
    margin: 0;
}
.mobile.product-media .flex-direction-nav {
    display: none;
}
.mobile.product-media .flex-control-nav {
    margin: 0;
    list-style: none;
    text-align: center;
}
.mobile.product-media .flex-control-nav li {
    display: inline-block;
    margin: 0 5px;
    text-indent: -9999px;
}
.mobile.product-media .flex-control-nav li a {
    width: 14px;
    height: 17px;
    background: url(../images/bullet-knowledge.png) no-repeat;
    display: block;
}
.mobile.product-media .flex-control-nav li a:hover, .mobile.product-media .flex-control-nav li a.flex-active {
    background-position: 0 -17px;
}
#modal-content #carousel-additional {
    width: 300px;
}
select.update-search-results.link-dropdown {
    outline: none !important;
}
.image-link {
    display: flex;
    height: 330px;
    margin: 0 0 15px 0;
}
.image-link img {
    align-self: center;
}
#product-container .image-link {
    justify-content: center;
}
#product-container .image-link img {
    max-height: 350px;
    
}



#product-info .price {
    font-size: 20px;
}
#product-info .small-price {
    font-size: 15px;
}
#product-info .price.flex-plan {
    font-size: 15px;
    color: #c8332f;
}

/* Customer requested styles for the cartline promotion. */
#product-info .sale.price,
.cartline-promotion {
    color: #c8332f;
}
#product-info .cartline-promotion {
    margin-bottom: 10px;
    font-size: 18px
}

#thumbnail-reservoir,
#thumbnail-reservoir-mobile {
    display: none;
}
.static-content .ship-rates-table, .static-content .ship-rates-table table {
    border-spacing: 5px;
    width: 100%;
}
.ship-rates-table .text-heading {
    font-weight: bold;
    font-size: 16px;
}
#form-login-container #form-login.forgot-password {
    padding: 30px 0;
    float: none;
    margin: 0 auto;
    width:auto;
}
.info-text {
    margin-bottom:15px;
    display:block;
}
.forgot-password-form {
    margin:35px 0;
}
.in-home-trial .strong-text {
    font-size: 18px;
    font-weight: bold;
}
.in-home-trial .section-heading {
    font-size: 20px;
    font-weight: bold;
    color: #265e6f;
}
.static-content .cursive-text {
    text-align: center;
    display: block;
    font-size: 30px;
    font-family: "Monotype Corsiva";
}
}
#account-details-updated-message {
    box-shadow: 3px 3px 25px -4px #265e6f;
    margin-bottom: 19px;
    padding: 10px;
    width: 318px;
}
.in-home-trials-form-table input[type=text],
.in-home-trials-form-table input[type=email] {
    height: 38px !important;
    border: 1px solid #ccc !important;
    border-radius: 2px !important;
    margin: 7px 0 15px 0 !important;
    padding: 0 5px !important;
    width: 400px !important;
}
.in-home-trials-form-table,
.in-home-trials-form-table label,
.in-home-trials-form-table span {
    font-family: "Montserrat", sans-serif !important;
    font-size: 15px;
}
.in-home-trials-form-table .hs-error-msgs label {
    display: block;
    color: #A94442;
    font-size: 15px;
    clear: both;
    margin-top: -7px;
    margin-bottom: 10px;
}
.in-home-trials-form-table .clearfix:after, 
.in-home-trials-form-table .field:after,
.in-home-trials-form-table .hs-form-field:after {
    display: none !important;
}
.in-home-trials-form-table [type="radio"]:checked, 
.in-home-trials-form-table [type="radio"]:not(:checked) {
    position: static;
    left: 0px;
}
.in-home-trials-form-table .hs-button.primary.large {
    width: 370px;
    height: 60px;
    background: #265e6f;
    border-radius: 2px;
    font-size: 18px;
    color: #fff;
    text-transform: uppercase;
    margin: 0 0 20px 0;
    background-image: initial !important;
    background-color: #265e6f !important;
    border: none !important;
    font-weight: normal;
}
.bows-gallery img {
    width: 48%
}
.bows-gallery img:first-child {
    margin-right: 4%;
}
.instrument-tradition img {
    display: block;
    margin: 0 auto 20px;
}
.instrument-tradition p {
    margin-bottom: 10px;
}
.instrument-tradition h2 {
    font-weight: bold;
    font-size: 18px;
    margin: 10px 0;
}
.instrument-tradition h3 {
    font-weight: bold;
    font-size: 16px;
    margin: 10px 0;
}
.instrument-tradition button {
    padding: 20px;
    height: 60px;
    background: #265e6f;
    border-radius: 2px;
    font-size: 18px;
    color: #fff;
    text-transform: uppercase;
    margin: 0 0 20px 0;
    background-image: initial !important;
    background-color: #265e6f !important;
    border: none !important;
    font-weight: normal;
}
.po-surcharge-warning {
    margin-bottom:25px;
    line-height:20px;
}
.mobile-summary-total {
    display: none;
}
.form-sidebar .search-sidebar .button {
    cursor:default;
}
#empty-search-results {
    width: 100%;
    text-align: center;
    margin-top: 50px;
}
.search-result-header-container {
    margin: 0 0 20px 0;
}
.search-result-header-container #title-listing {
    margin: 0 0 5px 0;
}

/* Style a button to look like a link. */
button.btn-link {
    background: none !important;
    color: inherit;
    font-weight: normal;
    border: none;
    padding: 0 !important;
    font: inherit;
    /*border is optional*/
    border-bottom: 1px solid;
    cursor: pointer;
}

#scroll {
    position: fixed;
    z-index: 10000;
    right: 10px;
    bottom: 10px;
    cursor: pointer;
    width: 50px;
    height: 50px;
    background-color: #232323;
    text-indent: -9999px;
    display: none;
    -webkit-border-radius: 60px;
    -moz-border-radius: 60px;
    border-radius: 60px
}
#scroll span {
    position: absolute;
    top: 50%;
    left: 50%;
    margin-left: -8px;
    margin-top: -12px;
    height: 0;
    width: 0;
    border: 8px solid transparent;
    border-bottom-color: #ffffff;
}
/* Style a button to look like a link. */
button.btn-link {
    background: none !important;
    color: inherit;
    font-weight: normal;
    border: none;
    padding: 0 !important;
    font: inherit;
    /*border is optional*/
    border-bottom: 1px solid;
    cursor: pointer;
}

/* Added for things like Hubspot forms, where a third party provides the HTML for the form,
   injecting it thru JavaScript,
   and we style it like the rest of the page. */

.form-generic,
.form-generic label,
.form-generic input,
.form-generic select,
.form-generic textarea,
.form-generic button {
    /* Match fonts on most forms. */
    font-family: 'Montserrat', sans-serif;
}

.form-generic {
    /* Match computed values on checkout form. */
    font-size: 15px;
    line-height: 15px;
    color: rgb(35, 35,35);
}

.form-generic h1 {
    /* Match computed values on checkout form. */
    font-size: 24px;
    text-transform: uppercase;
    line-height: 30px;
}
.form-generic h2 {
    margin-bottom: 20px;
}

.form-generic input,
.form-generic select,
.form-generic textarea,
.form-generic button {
    width: 418px;
}

.form-generic input[type="text"],
.form-generic input[type="email"] {
    width: 418px;
    height: 38px;
    border: 1px solid #ccc;
    border-radius: 2px;
    margin: 7px 0 15px 0;
    padding: 0 5px;
}

.form-generic input[type=checkbox],
.form-generic input[type=radio] {
    width: auto;
}

.form-generic input[type=radio] {
    height: auto;
    margin-top: -1px;
    vertical-align: middle;
}

.form-generic input[type=submit],
.form-generic button {
    width: 370px;
    height: 60px;
    background: #265e6f;
    border-radius: 2px;
    font-size: 18px;
    color: #fff;
    text-transform: uppercase;
    border: none;
    margin: 2em 0 2em 0;
}

.form-generic .hs-form-required,
.form-generic .required {
    color: red;
    display: inline-block;
    padding-left: .25em;
}

.form-generic input[type="radio"] {
    position: relative;
    left: 0px;
}

/* Tweaks for hubspot forms specifically */
.hbspt-form ul,
.hbspt-form ol {
    list-style-type: none;
}

li.hs-form-radio, textarea.hs-input {
    margin-top: 10px;
    margin-bottom: 10px;
}

/* end generic form styling */

/* Put some space between error or sucess messages and the form. */
#account-details-updated-message, .error {
    margin-bottom: 1.0em;
}
.pdp-paypal-credit {
    max-width: 100px;
    display: block;
    margin: 10px 0;
}
.view-all-link {
    margin-left:10px;
    display:inline-block;
}

/* Error Page 404 */
.error-wrapper {
    display: flex;
    box-sizing: border-box;
    width: 100%;
    height: 67vw;
    align-items: flex-start;
    justify-content: center;
    background: url('/images/error-404.jpg');
    background-repeat: no-repeat;
    background-position: bottom;
    background-size:contain; /* cover doesn't work because it cuts off the string at certain resolutions*/
    padding-top: 10%;
    min-height: 475px; /* On narrow phones make sure it is tall enough to include the image */
}

.jp-controls .jp-play {
    display: block !important;
}

/* Loyalty program style changes */
#mini-cart-footer .mini-cart-total-points {
    margin: 0 0 20px 0;
    font-style: italic;
    font-size: 13px;
}

.cart-summary-total-points {
    margin-top: 20px;
    font-size: 17px;
}

/* These items have mobile and desktop versions. Hide the mobile ones in desktop. */
.shar-points-mobile,
.aside-mobile,
.price-cart-mobile {
    display: none;
}

.product-points, .cart-points {
    /* Whether on the cart page or the product pages show the points message in red. */
    color: #c8332f; /* Red */
    font-style: italic;
}

.product-points {
    margin-bottom: 5px;
}

.loyalty-page {
    /* This is needed so the loyalty page doesn't overlap navigation. */
    padding-left: 1.5em;
    width: 1150px;
    float: right;
}
.loyalty-page-top-heading {
    /* Make the loyalty page heading all caps. */
    text-transform: uppercase;
    font-size: 1.5em;
}

.loyalty-card {
    /* Boxes on the loyalty page. */
    border: 1px solid grey;
    float: left;
    min-width: 300px;
    min-height: 150px;
    margin-right: 1.5em;
    margin-bottom: 1.5em;
    margin-top: 1.5em;
    padding: 1em;
}
.loyalty-card-head {
    border-bottom: 1px solid gray;
    padding: .5em;
}
.loyalty-card-body {
    padding: .5em;
}
 
.loyalty-page-sub-heading {
    font-size: 1.25em;
    clear: both;
}
.button-standard-width {
    /* Override button being too wide, needs to be brought down. */
    width: 170px !important;
}
.point-summary {
    /* Show the point summary just slightly larger. */
    font-size: 1.25em;
    margin-top: .5em;
}
.loyalty-signup {
    /* On checkout review show this as a separate section. */
    border-top: 1px solid #ccc;
    padding-top: 2.5em;
    margin-top: 1em;
}
.add-to-cart-buttons + .product-details-points {
    /* Fix spacing too tight */
    margin-top: 1.5em;
}

.points-applied {
    font-weight: 500 !important;
    margin-bottom: -1.5em; /* fix for spacing lost when logo isn't visible */
}

.points-applied-checkout-review {
    font-size: 15px !important;
    margin-bottom: -1.0em !important; /* additional spacing fix */
}

.no-points-message {
    margin-top: 15px;
}

#loyalty-logo {
    width: 250px;
    display: block;
    margin-bottom: 30px;
    float: none;
}

.loyalty-points {
    margin-top: 1.5em;
    border-top: 1px solid #ccc;
    padding-top: 30px;
}

#loyalty-points-payment, #loyalty-points-review {
    /* Fix container margin making the background appear partially white */
    margin-bottom: -50px;
    padding-bottom: 50px;
}

h3 + #loyalty-points-review {
    /* The heading on this page already has a divider... 
    so remove the divider on the loyalty section and its spacing when the heading is right next to the loyalty section */
    border-top: none;
    padding-top: 0px;
}

.checkout-section, .checkout-section-gray {
    /* Indent specific areas of the page, usually to group them under specific headings. */
    padding-left: 2em;
  
}
#box-delivery.checkout-section, #billing-address.checkout-section, #shipping-address.checkout-section {
    /* Fix indent not kicking in on these sections by being more specific in the selector. */
    padding-left: 2em;
}
.checkout-section-gray {
    /* Show it gray on payment as requested by SHAR. */
    background-color: rgb(250,250,250);
}
/* end loyalty program style changes */

/* in store pickup */
.in-store-pickup {
    margin: 30px 0px 30px 0px;
    display: flex;
    flex-direction: column;

}
#form-product .in-store-pickup .button {
    margin: 20px 0 0 0;
    width: 280px;
    border: 1px solid #265e6f;
    background-color: white;
    color: #265e6f;
}
#form-product .in-store-pickup .button.pulse {
    color: white; /* fix issue with teal text on teal background when the button is clicked */
}
#customer-pickup-address {
    display: none;
}
#form-delivery ul {
    display: flex;
    flex-direction: column;
}

/* end in store pickup */
#temporarily_oversold .tooltip-popup-message {
    text-align: center;
}

.tooltip.tooltip-bottom .tooltip-popup-message {
    top: 35px;
}
.tooltip-bottom .tooltip-popup-message:before {
    top: -20px;
    transform: rotate(180deg);
}
#breadcrumbs li a.last-breadcrumb {
    text-decoration: none;
    cursor: initial;
}
.additional-delivery-message {
    color:#c8332f;
}

/* Start Teacher Rental List */
.rental-teacher h2 {
    font-size: 18px;
    line-height: 30px;
    font-weight: normal;
}
.rental-teacher .rental-details {
    padding: 0 7%;
}
.rental-teacher h3 {
    font-size:20px;
    margin-bottom: 24px;
    text-transform: uppercase;
    font-weight: normal;
}
.rental-teacher h4 {
    margin-bottom: 24px;
}
.rental-teacher label {
    font-weight: bold;
}
.rental-teacher .school-fields {
    width:50%;
    min-width: 300px;
}
.rental-teacher .indent {
    margin-left: 40px;
    margin-top: 15px;
}
.rental-teacher .school-details {
    margin-bottom:  15px;
}
.rental-teacher .school-details .indent label {
    margin-bottom: 15px;
    margin-right: 5px;
    display: inline-block;
}
.rental-teacher .select-instrument {
    margin-top: 10px;
}
.school-products-heading {
    display:flex;
    align-items: flex-end;
    justify-content: space-between;
    padding-bottom: 20px;
    border-bottom: #ccc 1px solid;
    margin-top:50px;
}
.school-products-heading h5 {
    font-size: 28px;
    font-weight: 300;
}
.school-products-heading .button-add-all {
    height: 60px;
    width: 248px;
    font-size: 18px;
    line-height: 60px;
    font-weight: normal;
}
.school-product {
    margin: 75px 0 35px;
    width: 100%;
    display: inline-block;
}
.school-product .product-image-link img {
    width: 325px;
    max-width: 325px;
    float: left;
    margin-right: 50px;
}
.school-product .product-details {
    width: calc(100% - 375px);
    float: left;
}
.school-product .product-info {
    width: 67%;
    float: left;
}
.school-product .add-to-cart-buttons {
    width: 33%;
    float: right;
    margin-top: 0;
    justify-content: flex-end;
}
.school-product .product-info h6,
.school-product .product-info .item-number {
    font-weight: normal;
    margin-bottom: 15px;
    display:block;
}
.school-product h6 a,
.school-product h6 a:link,
.school-product h6 a:visited
{
    color: #333;
    text-decoration: none;
    display: block;
}
.school-product .product-info .price {
    display:block;
    margin-bottom: 20px;
}
.school-product .add-to-cart-buttons .input {
    width: 56px;
    height: 56px;
    border: 1px solid #ccc;
    border-radius: 2px;
    font-size: 18px;
    text-align: center;
    padding:1px 2px;
    margin: 0;
    box-sizing:content-box;
}
.school-product .add-to-cart-buttons .button {
    width: 200px;
    height: 60px;
    border: none;
    border-radius: 2px;
    background: #265e6f;
    font-size: 18px;
    text-transform: uppercase;
    color: #fff;
    margin: 0 0 0 15px;
}
.school-product .star-rate {
    margin-bottom: 35px;
}
.school-product .star-rate .star-container {
    width: 115px;
    height: 22px;
    cursor: pointer;
    margin: 3px 0 0 0;
}
.school-product .star-rate span {
    font-size: 13px;
    font-weight: 400;
    float: left;
    margin: 9px 0 0 5px;
    font-weight: normal;
}
.school-product .view-full-details {
    display: inline-block;
    margin-bottom: 25px;
}
.school-product .price-options {
    margin-left: 0;
    list-style:none;
}
.school-product .price-options li {
    margin-bottom: 5px;
}
.school-product .price-options li label,
.school-product .price-options li label span {
    font-weight:500;
    color: #232323;
}
.required-error, .recommended-error {
    float:right;
}
/* End Teacher Rental List */
.hidden-data {
    display: none;
}
.availability.out-of-stock,
.mini-cart-content .out-of-stock,
#checkout-sidebar .out-of-stock,
#content-summary .out-of-stock {
    color: #c8332f; 
}
.mini-cart-content .out-of-stock strong,
#checkout-sidebar .out-of-stock strong,
#content-summary .out-of-stock strong {
    color: #232323;
}