/*!
 * Jo and Co Jewelers
 * http://www.joandcojewelers.com
 * Copyright 2008-2023 Punchmark
 */


/*  ===================================================================================
    HELPERS
==================================================================================== */

@font-face {
    font-family: northwell;
    src: url('../fonts/northwell.ttf');
}

body {
    background-color: #b4aca5;
}

.alert-global {
    color: white !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 500 !important;
    font-size: 12px !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
}
.alert-global a.alert-link {
    color: white !important;
    text-decoration: underline !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 600 !important;
    font-size: 12px !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
}

.btn-light {
    color: var(--primary) !important;
}

.btn-light {
    color: var(--primary) !important;
}

@media(max-width:767px){
    html, body {
        overflow-x: hidden !important;
        max-width: 100vw !important
    }
    .mobile-stack .btn-light {
        background: var(--primary) !important;
        border-color: var(--primary) !important;
        color: var(--light) !important;
    }
    .mobile-stack .btn-light:hover,
    .mobile-stack .btn-light:focus,
    .mobile-stack .btn-light:active {
        background: var(--light) !important;
        border-color: var(--primary) !important;
        color: var(--primary) !important;
    }
    .mobile-stack .btn-outline-light {
        background: transparent !important;
        border-color: var(--dark) !important;
        color: var(--dark) !important;
    }
    .mobile-stack .btn-outline-light:hover,
    .mobile-stack .btn-outline-light:focus,
    .mobile-stack .btn-outline-light:active {
        background: var(--dark) !important;
        border-color: var(--dark) !important;
        color: var(--light) !important;
    }
}

.cursive {
    font-family: northwell, cursive;
    display: block !important;
    text-align: center;
    text-transform: capitalize !important;
    font-size: 10vw !important;
    margin-bottom: 0 !important;
}

h1 .cursive {
    font-size: 14vw !important;
    margin-bottom: -3.5vw !important;
}

.text-left .cursive {
    margin-left: 0 !important;
    text-align: left !important;
}

@media(min-width:768px){
    .cursive {
        font-size: 5vw !important;
        margin-bottom: 0 !important;
    }
    h1 .cursive {
        font-size: 7vw !important;
        margin-bottom: -1.5vw !important;
    }
}

/*  ===================================================================================
    HEADER
==================================================================================== */

header {
    border: 0px !important;
    box-shadow: none !important;
    background: white !important;
}

header a#logo {
    width: 120px !important;
    padding: 20px 0 !important;
}

header .content-toolbar .content-toolbar-inner > ul > li > a > i {
     -webkit-text-stroke-width: 1px;
     -webkit-text-stroke-color: inherit;
     font-size: 20px !important;
}

@media(min-width:768px){
    header a#logo {
        width: 170px !important;
        padding: 20px 0 !important;
        z-index: 2001 !important;
        position: relative !important;
    }
    header .content-toolbar.top {
        margin-top: 0px !important;
        margin-bottom: 0px !important;
        position: absolute !important;
        top: calc(50% - 20px) !important;
        left: 10px !important;
        max-width: calc(100% - 20px) !important;
        z-index: unset !important;
    }
    header .content-toolbar .content-toolbar-inner > ul > li.item-search-inline > form > .input-group {
        width: 150px !important;
        border-radius: 0px !important;
    }
    header .content-toolbar .content-toolbar-inner > ul > li.item-search-inline > form > .input-group .form-control {    
        padding-left: calc(var(--bs-gutter-x) * .5) !important;
    }
    header .content-toolbar .content-toolbar-inner > ul > li.item-search-inline > form > .input-group .btn {
        padding-left: calc(var(--bs-gutter-x) * .5) !important;
        padding-right: calc(var(--bs-gutter-x) * .5) !important;
    }
}

@media(min-width:992px){
    header a#logo {
        width: 220px !important;
        padding: 20px 0 !important;
    }
    header .content-toolbar .content-toolbar-inner > ul > li.item-search-inline > form > .input-group {
        width: 200px !important;
    }
    header .content-toolbar .content-toolbar-inner > ul > li.item-search-inline > form > .input-group .form-control {    
        padding-left: calc(var(--bs-gutter-x) * 1) !important;
    }
    header .content-toolbar .content-toolbar-inner > ul > li.item-search-inline > form > .input-group .btn {
        padding-left: calc(var(--bs-gutter-x) * 1) !important;
        padding-right: calc(var(--bs-gutter-x) * 1) !important;
    }
}    

@media(min-width:1200px){
    header .content-toolbar.top {
        max-width: calc(100% - 40px) !important;
        left: 20px !important;
    }
}

@media(min-width:1400px){
    header .content-toolbar.top {
        max-width: calc(100% - 60px) !important;
        left: 30px !important;
    }
}

/*  ===================================================================================
    NAVIGATION
==================================================================================== */
 
nav.navbar {
    border-top: 2px solid #EDEBE5 !important;
    border-bottom: 2px solid #EDEBE5 !important;
}

nav.navbar .navbar-nav .nav-item {
    padding: 0px !important;
}

nav.navbar .navbar-nav .nav-item .nav-link {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    padding: 0px 10px !important;
    margin: 0px !important;
}

@media(max-width:767px){
    nav.navbar #main-navigation {
        background: var(--primary) !important;
    }
    nav.navbar .navbar-nav > .nav-item .dropdown-menu {
        background: var(--bs-input-bg-color) !important;
    }
    nav.navbar .navbar-nav > .nav-item .nav-link,
    nav.navbar .navbar-nav .nav-item.has-a-plus > .nav-link-and-plus-wrap > .dropdown-plus {
        color: rgba(255,255,255,1) !important;
    }
    nav.navbar .navbar-nav > .nav-item.has-a-plus .nav-link:hover,
    nav.navbar .navbar-nav > .nav-item.has-a-plus .nav-link:focus,
    nav.navbar .navbar-nav > .nav-item.has-a-plus .nav-link:active,
    nav.navbar .navbar-nav .nav-item > .nav-link-and-plus-wrap:hover .nav-link,
    nav.navbar .navbar-nav .nav-item > .nav-link-and-plus-wrap:focus .nav-link,
    nav.navbar .navbar-nav .nav-item > .nav-link-and-plus-wrap:active .nav-link,
    nav.navbar .navbar-nav .nav-item.show > .nav-link-and-plus-wrap .nav-link,
    nav.navbar .navbar-nav .nav-item.show > .nav-link-and-plus-wrap .nav-link,
    nav.navbar .navbar-nav .nav-item.show > .nav-link-and-plus-wrap .nav-link {
        color: rgba(255,255,255,0.5) !important;
    }
    nav.navbar .navbar-nav .nav-item.has-a-plus .dropdown-plus > i {
        -webkit-text-stroke-width: 1px;
        -webkit-text-stroke-color: inherit;
    }
    nav.navbar .navbar-nav .nav-item.show > .nav-link-and-plus-wrap .dropdown-plus {
        color: rgba(255,255,255,0.25) !important;
    }
    nav.navbar .mobile-bottom .nav-bottom-buttons,
    nav.navbar .mobile-bottom .nav-bottom-buttons .btn {
        color: rgba(255,255,255,0.5) !important;
        font-weight: 600 !important;
        font-size: 12px !important;
        letter-spacing: 1px !important;
        text-transform: uppercase !important;
        border-color: rgba(255,255,255,0.1) !important;
    }
    nav.navbar #main-navigation .mobile-bottom .btn:hover,
    nav.navbar #main-navigation .mobile-bottom .btn:focus,
    nav.navbar #main-navigation .mobile-bottom .btn:active {
        color: rgba(255,255,255,1) !important;
        background: #111111 !important;
        border-color: rgba(255,255,255,0.1) !important;
    }
    nav.navbar #main-navigation .mobile-bottom .social-networks {
        display: none !important;
    }
    nav.navbar #main-navigation .mobile-bottom .nav-logo {
        padding-bottom: 30px !important;
        filter: invert(1) brightness(2) !important;
    }
    nav.navbar #main-navigation .mobile-top .mobile-top-search .input-group {
        background: white !important;
    }
    nav.navbar .navbar-nav .nav-item:not(.has-a-plus) .nav-link {
        height: 35px !important;
    }
}

@media(min-width:768px){
    nav.navbar .navbar-nav .nav-item.dropdown .dropdown-menu.dropdown-menu-wide.menu-megamenu-diamonds .row.diamonds .dropdown-item span,
    nav.navbar .navbar-nav .nav-item.dropdown .dropdown-menu.dropdown-menu-wide .dropdown-item.dropdown-item-parent {
        font-weight: 400 !important;
        font-size: 18px !important;
    }
}

.menu-megamenu-diamonds .dia-round:before {
    background: url("https://cdn.jewelryimages.net/static/domains/joandcojewelers/images/store-pics/diamond-icons-optimized/diamondshape-round_optimized.png?width=100") center center no-repeat;  
}
.menu-megamenu-diamonds .dia-princess:before {
    background: url("https://cdn.jewelryimages.net/static/domains/joandcojewelers/images/store-pics/diamond-icons-optimized/diamondshape-princess_optimized.png?width=100") center center no-repeat;  
}
.menu-megamenu-diamonds .dia-emerald:before {
    background: url("https://cdn.jewelryimages.net/static/domains/joandcojewelers/images/store-pics/diamond-icons-optimized/diamondshape-emerald_optimized.png?width=100") center center no-repeat;  
}
.menu-megamenu-diamonds .dia-asscher:before {
    background: url("https://cdn.jewelryimages.net/static/domains/joandcojewelers/images/store-pics/diamond-icons-optimized/diamondshape-asscher_optimized.png?width=100") center center no-repeat;  
}
.menu-megamenu-diamonds .dia-radiant:before {
    background: url("https://cdn.jewelryimages.net/static/domains/joandcojewelers/images/store-pics/diamond-icons-optimized/diamondshape-radiant_optimized.png?width=100") center center no-repeat;  
}
.menu-megamenu-diamonds .dia-cushion:before {
    background: url("https://cdn.jewelryimages.net/static/domains/joandcojewelers/images/store-pics/diamond-icons-optimized/diamondshape-cushion_optimized.png?width=100") center center no-repeat;  
}
.menu-megamenu-diamonds .dia-oval:before {
    background: url("https://cdn.jewelryimages.net/static/domains/joandcojewelers/images/store-pics/diamond-icons-optimized/diamondshape-oval_optimized.png?width=100") center center no-repeat;  
}
.menu-megamenu-diamonds .dia-pear:before {
    background: url("https://cdn.jewelryimages.net/static/domains/joandcojewelers/images/store-pics/diamond-icons-optimized/diamondshape-pear_optimized.png?width=100") center center no-repeat;  
}
.menu-megamenu-diamonds .dia-marquise:before {
    background: url("https://cdn.jewelryimages.net/static/domains/joandcojewelers/images/store-pics/diamond-icons-optimized/diamondshape-marquise_optimized.png?width=100") center center no-repeat;  
}
.menu-megamenu-diamonds .dia-heart:before {
    background: url("https://cdn.jewelryimages.net/static/domains/joandcojewelers/images/store-pics/diamond-icons-optimized/diamondshape-heart_optimized.png?width=100") center center no-repeat;  
}

/*  ===================================================================================
    FOOTER
==================================================================================== */

footer h6, 
footer .h6 {
    color: rgba(255,255,255,1) !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
}

footer p,
footer .p,
footer address,
footer address strong,
footer address a,
footer address a strong,
footer address > table tr > td > span,
footer .footerlinks a,
footer .copyrights p,
footer .copyrights p a,
footer .required-links li a,
footer .subscribe-widget form label,
footer .subscribe-widget form .input-group .form-control,
footer .subscribe-widget form .input-group .btn {
    color: rgba(255,255,255,1) !important;
    font-weight: 400 !important;
    line-height: 1.25rem !important;
}

footer .required-links li a {
    font-weight: 600 !important;
}
 
footer > .copyrights {
    background: none !important;
}

footer .subscribe-widget form .input-group {
    border-radius: 0px !important;
    border-color: rgba(255,255,255,1) !important;
}

footer .subscribe-widget form .input-group .btn,
footer .subscribe-widget form .input-group .form-control {
    border-radius: 0px !important;
    padding-left: 0.625rem !important;
    padding-right: 0.625rem !important;
}

footer .subscribe-widget form .input-group .form-control::placeholder {
    color: rgba(255,255,255,0.5) !important;
}

footer label {
    color: white !important;
}

footer .social-networks .network {
    border-color: white !important;
    color: white !important;
}

footer .social-networks .network:hover,
footer .social-networks .network:focus,
footer .social-networks .network:active {
    background: white !important;
    border-color: white !important;
    color: var(--primary) !important;
}

footer p, 
footer .p, 
footer .small, 
footer address,
footer address a, 
footer address span, 
footer address strong, 
footer address > table tr > td > span {
    line-height: 1.75rem !important;
}

footer address .holiday-hours-tag {
    font-weight: 600 !important;
    color: white !important;
    font-style: italic !important;
    margin: 0 !important;
}

footer .text-left address > table td {
    padding-bottom: 0 !important;
}

@media(max-width:767px){
    footer {
        padding-bottom: 40px !important;
    }
    footer .social-networks {
        justify-content: center !important;
    }
    footer > .copyrights p,
    footer > .copyrights *,
    footer > .copyrights p a,
    footer > .copyrights p * {
        line-height: 1 !important;
    }
}


/*  ===================================================================================
    COLUMN SLIDER
==================================================================================== */

.column-slider .owl-nav, 
.product-slider .owl-nav, 
.social-slider .owl-nav {
    visibility: visible !important;
    opacity: 1 !important;
    position: absolute !important;
    top: -67px !important;
    right: 10px !important;
    left: auto !important;
    width: 90px !important
}

@media(min-width:768px){
    .column-slider .owl-nav, 
    .product-slider .owl-nav, 
    .social-slider .owl-nav {
        right: 0px !important;
    }
}

.column-slider .owl-nav button,
.product-slider .owl-nav button,
.social-slider .owl-nav button {
    -webkit-text-stroke-width: 1px;
    -webkit-text-stroke-color: inherit;
}

.column-slider .owl-nav button:hover i,
.column-slider .owl-nav button:focus i,
.column-slider .owl-nav button:active i,
.product-slider .owl-nav button:hover i,
.product-slider .owl-nav button:focus i,
.product-slider .owl-nav button:active i,
.social-slider .owl-nav button:hover i,
.social-slider .owl-nav button:focus i,
.social-slider .owl-nav button:active i {
    color: var(--primary) !important;
}

.column-slider .owl-nav button.disabled i,
.product-slider .owl-nav button.disabled i,
.social-slider .owl-nav button.disabled i {
    color: var(--primary) !important;
    opacity: 0.75 !important;
}

@media(min-width:768px) and (max-width:1599px){
    section.overflow-visible .column-slider .owl-stage-outer, 
    section.overflow-visible .product-slider .owl-stage-outer, 
    section.overflow-visible .social-slider .owl-stage-outer {
        width: calc(100% + 5000px) !important;
    }
}

.column-slider .owl-nav button.owl-prev,
.product-slider .owl-nav button.owl-prev,
.social-slider .owl-nav button.owl-prev {
    left: 0px !important;
    background: rgba(255,255,255,0.1) !important;
    border: none !important;
    border-radius: 0px !important;
    color: rgba(0,0,0,1) !important;
    font-size: 24px !important;
    padding: 0px 10px !important;
    height: 100% !important;
    width: 45px !important;
    text-align: center !important;
    line-height: 1.5rem !important;
    transition: all 0.3s ease !important;
}

.column-slider .owl-nav button.owl-next,
.product-slider .owl-nav button.owl-next,
.social-slider .owl-nav button.owl-next {
    right: 0px !important;
    background: rgba(255,255,255,0.1) !important;
    border: none !important;
    border-radius: 0px !important;
    color: rgba(0,0,0,1) !important;
    font-size: 24px !important;
    padding: 0px 10px !important;
    height: 100% !important;
    width: 45px !important;
    text-align: center !important;
    line-height: 1.5rem !important;
    transition: all 0.3s ease !important;
}

@media(max-width:767px){
    section.mobile-stack .column-slider .owl-nav {
        position: absolute !important;
        top: 20% !important;
        left: 0 !important;
        right: 0 !important;
        width: calc(100% - 20px) !important;
        transform: translateY(-50%) !important;
    }
}

@media(min-width:768px){
    section.mobile-stack .column-slider .owl-nav {
        position: absolute !important;
        top: calc(50% - 22.5px) !important;
        left: 0 !important;
        right: 0 !important;
        width: calc(100% - 20px) !important;
        transform: translateY(-50%) !important;
    }
}

section.mobile-stack .column-slider .owl-nav button i {
    color: white !important;
}

.social-slider .owl-nav {
    display: none !important;
}

.social-slider .social-heading,
.social-slider .social-interaction,
.social-slider .social-interactions,
.social-slider .social-link {
    display: none !important;
}

.social-slider .social-description {
    margin-bottom: 0px !important;
}

.meet-our-staff .meet-our-staff img {
    image-orientation: none !important;
}

/*  ===================================================================================
    GRID 
==================================================================================== */

[data-widget-type="grid"] .grid .grid-item .widget {
    padding: 0px !important;
}

[data-widget-type="grid"] .grid .grid-item:not(.special-size) .widget-inner {
    position: relative !important;
}

[data-widget-type="grid"] .grid .grid-item .widget-inner::after {   
    content: "";
    width: 100%;
    height: 100%;
    box-shadow: inset 0 0 0 2px white !important;
    position: absolute;
    top: 0;
    left: 0;
    display: block;
}

[data-widget-type="grid"] .grid-filters {
    display: none !important;
}

body.sitemanager-menu-open [data-widget-type="grid"] .grid .grid-item:hover .widget-inner::after,
body.sitemanager-menu-closed [data-widget-type="grid"] .grid .grid-item:hover .widget-inner::after {
    display: none !important;
}

@media(min-width:768px){
    .grid[data-grid-cols="6"] .grid-item-double-width.special-size {
        width: 50% !important;
    }
}


/*  ==========================================
    WIZARD
==========================================  */

@media(min-width:768px){
    #wizardNav {
        height: 90px !important;
    }
    #wizardNav button {
        width: 180px !important;
    }
    #wizardNav button.btn-back span,
    #wizardNav button.btn-next span, 
    #wizardNav button.btn-submit span {
        font-size: 18px !important;
        text-transform: uppercase !important;
    }
}