/* Callout Section */

.callout_section.has_section_bg_image{
	padding: 5.8125rem 0;
}

.has_section_bg_image .callout_title,
.has_section_bg_image .callout_desc{
	color: var(--bs-white);
}

.callout_subtitle{
	display: block;
	font-size: 1.125rem;
	font-weight: 600;
    color: var(--bs-primary);
    margin-bottom: 0.625rem;
}

.callout_title{
	font-size: 3.75rem;
	font-weight: 600;
	margin-bottom: .6rem;
}

.callout_desc{
	font-size: 1.5rem;
	margin-bottom: 1.8rem;
}

.callout_content_wrap .btn + .btn{
	margin-left: 1rem;
}

/* Gallery Section */

.category_tabs{
	margin-bottom: 1.875rem;
}

.category_tabs.nav-pills .nav-item{
	margin: 0 8px 8px 0;
}

.category_tabs.nav-pills .nav-link{
	font-size: .9rem;
	font-weight: 600;
	letter-spacing: .25px;
	padding: 15px 22px;
	cursor: pointer;
	text-transform: capitalize;
	border-radius: 4px;
	position: relative;
	z-index: 0;
	transition: .3s;
}

.category_tabs.nav-pills .nav-link:after{
	content: "";
    position: absolute;
    bottom: 5px;
    left: 0;
    right: 0;
    margin: 0 auto;
    display: inline-block;
    width: 18px;
    height: 18px;
    background-color: var(--bs-primary);
    border-radius: 2px;
    transform: rotate(45deg);
    opacity: 0;
    transition: .3s;
}

.category_tabs.nav-pills .nav-link.active:after,
.category_tabs.nav-pills .nav-link:hover:after,
.category_tabs.nav-pills .nav-link:focus:after{
	opacity: 1;
	bottom: -8px;
}

.category_tabs.nav-pills .nav-link:not(.active){
	background-color: var(--bs-gray-100);
	color: var(--bs-secondary);
}

.category_tabs.nav-pills .nav-link.active,
.category_tabs.nav-pills .nav-link:hover,
.category_tabs.nav-pills .nav-link:focus,
.category_tabs.nav-pills .show>.nav-link{
	background-color: var(--bs-primary);
	color: var(--bs-white);
}

.gallery_wrap{
	margin-bottom: 1.875rem;
}

.gallery_wrap,
.gallery_wrap_inner{
	position: relative;
	overflow: hidden;
	z-index: 0;
}

.gallery_overlay{
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
}

.gallery_overlay:before,
.gallery_overlay:after{
	content: '';
	display: block;
	background-color: rgba(0, 0, 0, 0.5);
	width: 0;
	height: 50%;
	position: absolute;
	z-index: 0;
	transition: all 300ms ease-in-out 400ms;
}

.gallery_overlay:before{
	top: 0;
	left: 0;
}

.gallery_overlay:after{
	bottom: 0;
	right: 0;
}

.gallery_wrap:hover .gallery_overlay:before,
.gallery_wrap:hover .gallery_overlay:after{
	width: 100%;
}

.gallery_contents{
	position: relative;
	z-index: 2;
	opacity: 0;
	transition: all 300ms ease-in-out 400ms;
	transform: translateY(10px);
}

.gallery_wrap:hover .gallery_contents{
	opacity: 1;
	transform: translateY(0);
}

.gallery_title{
	margin-bottom: .5rem;
}

.gallery_title a,
.gallery_desc,
.gallery_icon{
	color: var(--bs-white);
}

.gallery_title a{
	text-decoration: none;
}

.gallery_title a:hover,
.gallery_title a:focus{
	color: var(--bs-primary);
}

.gallery_desc{
	margin-bottom: .5rem;
}

.gallery_icon{
	font-size: 2rem;
}

/* Client Section */

.client_wrap{
	border: 1px dashed var(--bs-gray-300);
	padding: 1rem;
	transition: .3s;
}

.client_wrap:hover{
	border-color: var(--bs-primary);
}

.client_wrap img{
	height: 50px;
    width: auto !important;
    margin: 0 auto;
	transition: .3s;
}

.client_wrap:hover img{
	transform: scale(1.1);
}

/* Product Category Section */

.category_wrap{
	position: relative;
	overflow: hidden;
}

.category_wrap .category_image{
	min-height: 230px;
    max-height: 230px;
    object-fit: cover;
    overflow: hidden;
}

.category_wrap .category_image img{
	transition: all .5s;
}

.category_wrap:hover .category_image img{
	transform: scale(1.1);
}

.category_wrap .category_image:before {
    background: rgba(255,255,255,.5);
    bottom: 0;
    content: "";
    left: 50%;
    position: absolute;
    right: 50%;
    top: 0;
    opacity: 1;
    width: 0;
    z-index: 2;
}

.category_wrap .category_image:after {
    background: rgba(255,255,255,.8);
    bottom: 50%;
    content: "";
    left: 0;
    position: absolute;
    right: 0;
    top: 50%;
    opacity: 1;
    width: 0;
    z-index: 2;
}

.category_wrap:hover .category_image:before {
    left: 0;
    right: 0;
    opacity: 0;
    width: auto;
    transition: all .9s linear;
}

.category_wrap:hover .category_image:after {
    top: 0;
    bottom: 0;
    opacity: 0;
    width: auto;
    transition: all .9s linear;
}

.category_overlay{
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 3;
	background-color: rgba(0, 0, 0, 0.35);
	display: flex;
	align-items: center;
	justify-content: center;
}

.category_title{
	font-size: 1rem;
	background-color: var(--bs-white);
	padding: 10px;
	border-radius: 4px;
	margin: 0;
}

.category_title a{
	color: var(--bs-secondary);
	text-decoration: none;
	transition: .3s;
}

.category_title a:hover,
.category_title a:focus{
	color: var(--bs-primary);
}

.category_count{
	width: 30px;
    height: 30px;
    line-height: 30px;
    background-color: var(--bs-primary);
    color: var(--bs-white);
    border-radius: 100%;
    text-align: center;
    font-size: .8rem;
    margin: 10px auto 0;
    font-weight: 600;
    letter-spacing: 0.25px;
}

/* Contact Template */

.contact_page_heading{
	border-left: 3px solid var(--bs-primary);
	padding: 0 0 0 1rem;
	margin-bottom: 1.875rem;
}

.contact_page_heading .subtitle{
	font-weight: 600;
	text-transform: uppercase;
}

.contact_page_heading .title{
	margin-bottom: 0;
}

.contact_page_heading + .desc{
	margin-bottom: 2.5rem;
}

.contact_page_heading .subtitle,
.contact_page_heading + .desc{
	color: var(--bs-gray-600);
}

.contact_section .wpcf7-form{
}

.contact_section .wpcf7-form p:nth-child(2),
.contact_section .wpcf7-form p:nth-child(3){
	display: inline-block;
	width: calc(50% - 4px);
}

.contact_info2{
	display: flex;
	gap: 1rem;
	margin-bottom: 1.875rem;
}

.contact_info2 .icon{
	display: block;
	width: 50px;
	height: 50px;
	line-height: 50px;
	text-align: center;
	background-color: var(--bs-secondary);
	color: var(--bs-white);
	border-radius: 100%;
	transition: all .3s ease-in-out;
}

.contact_info2:hover .icon{
	background-color: var(--bs-primary);
	transform: scale(1.1);
}

.contact_info2 .title{
	margin-bottom: .5rem;
}

.contact_info2 .desc{
	color: var(--bs-gray-600);
	margin-bottom: 0;
}

.contact_info2 .desc a{
	text-decoration: none;
}

.contact_info2 .desc a:hover{
	text-decoration: underline;
}

.googlemap_section iframe{
	margin: 0;
	padding: 0;
}

/* About Widget */

.widget-social{
	margin: 0;
	padding: 0;
	list-style: none;
}

.widget-social li{
	display: inline-block;
	padding: 0;
	margin: 0 8px 8px 0;
}

.widget-social li a{
	width: 2.5rem;
    height: 2.5rem;
    line-height: 2.5rem;
    text-align: center;
    display: block;
    background-color: var(--bs-secondary);
    color: var(--bs-white);
    border-radius: 0.25rem;
}

.has_section_bg_image .widget-social li a{
	background-color: rgb(255 255 255 / 30%);
}

.widget-social li a:hover, 
.widget-social li a:hover {
    background-color: var(--bs-primary);
    color: var(--bs-white) !important;
}

/* Contact Widget */

.widget_contact{
	margin: 0;
	padding: 0;
	list-style: none;
}

.widget_contact li{
	display: flex;
    gap: 1rem;
    align-items: center;
}

.widget_contact li .icon{
	display: block;
    width: 50px;
    height: 50px;
    line-height: 50px;
    text-align: center;
    background-color: var(--bs-secondary);
    color: var(--bs-white);
    border-radius: 100%;
    transition: all .3s ease-in-out;
}

.has_section_bg_image .widget_contact li .icon{
	background-color: rgb(255 255 255 / 30%);
}

.widget_contact li:hover .icon {
    background-color: var(--bs-primary);
    transform: scale(1.1);
}

.widget_contact li .contact_info2_wrap{
	display: flex;
	align-items: center;
	flex-basis: calc( 100% - 50px );
}

.widget_contact li p{
	margin: 0;
}

/* Post Widget */

.widget_posts{
	margin: 0;
	padding: 0;
	list-style: none;
}

.widget_posts li{
	display: flex;
	gap: 1rem;
}

.widget_posts li .widget_post_thumb{
	width: 70px;
	height: 70px;
	border-radius: 4px;
	overflow: hidden;
}

.widget_posts li .widget_post_thumb img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: .3s;
}

.widget_posts li:hover .widget_post_thumb img{
	transform: scale(1.1);
}

.widget_posts li .widget_post_title{
	font-size: 1rem;
	margin-bottom: .5rem;
}

.widget_posts li .widget_post_content{
	flex-basis: calc( 100% - 70px );
}

.widget_posts li .widget_post_content p{
	font-size: .9rem;
	margin-bottom: 0;
}

/* Blog Ajax Load More Button */

.jewelry_store_loadmore{
	display: block;
	width: max-content;
	border-radius: 4px;
	padding: 10px 15px;
	margin: 0 auto;
	background-color: var(--bs-secondary);
	color: var(--bs-white);
	cursor: pointer;
	transition: .3s;
}

.jewelry_store_loadmore:hover,
.jewelry_store_loadmore:focus{
	background-color: var(--bs-primary);
}

/* Offers */

.offers{
	position: relative;
	overflow: hidden;
}

.offers img{
	transition: .3s;
}

.offers:hover img{
	transform: scale(1.1);
}

.offers .offers-content{
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	height: 100%;
	transform: translateX(-50%) translateY(-50%);
	padding: 1.875rem 1.875rem;
	display: flex;
	text-align: center;
	align-items: center;
	flex-direction: column;
	justify-content: center;
	background-color: rgba(0, 0, 0, .5);
}

.offers:hover .offers-content{
	background-color: rgba(0, 0, 0, .3);
}

.offers h5{
	font-size: 1.838rem;
	line-height: 1.4;
	color: #ffffff;
	text-transform: uppercase;
	text-shadow: 1px 1px 1px rgb(0 0 0 / 50%);
}

.offers p{
	font-size: 1rem;
	font-weight: 500;
	color: #ffffff;
	text-shadow: 1px 1px 1px rgb(0 0 0 / 50%);
}

.offers .offers-price{
	font-size: 3.5rem;
	line-height: .8;
	font-weight: 700;
	color: var(--bs-primary);
	position: relative;
	margin-bottom: 1rem;
	text-shadow: 1px 1px 1px rgb(0 0 0 / 50%);
}

.offers .offers-price sup{
	font-size: 1.125rem;
	position: absolute;
    top: 0.338rem;
}

.offers .offers-price sub{
	font-size: 1.25rem;
    position: absolute;
    bottom: 0.875rem;
    right: -38px;
}

.offers .offers-code{
	background-color: var(--bs-secondary);
	font-weight: 600;
    color: #ffffff;
    padding: 0.625rem 1.25rem;
    border-radius: 4px;
    background-color: #ffffff;
	color: var(--bs-secondary);
}