@import url('https://fonts.googleapis.com/css2?family=Merriweather:ital,wght@0,300;0,400;0,700;0,900;1,300;1,400;1,700;1,900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400..900;1,400..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Libre+Baskerville:ital,wght@0,400;0,700;1,400&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Old+Standard+TT:ital,wght@0,400;0,700;1,400&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Abril+Fatface&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@400..900&display=swap');

:root {
	--magenta: #ef5899;
	--burgundy: #910338;
	--orange: #f23d20;
	--yellow: #fec10a;
	--green: #7ba62f;
	--red: #ea1a33;
	--pink: #f198c1;
	--viridian: #4f7756;
}

html,
body {
    overflow-x: hidden;
    scroll-behavior: smooth;
}

body {
	font-family: 'Playfair Display', serif;
	font-size: 15px;
	color: #fff;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-family: 'Playfair Display', serif;
	color: #fff;
}

h1 {
    font-size: 4rem;
}

a {
	color: var(--magenta);
} 

a:hover,
a:focus {
	color: var(--green);
}


/** TOP NAV **/
.head-container {
    background: var(--green);
	box-shadow: none;
}

.btn-header {
    border: none;
}

.addressData a,
.addressData a:visited {
	color: #fff;
	font-weight: 400;
}

.addressData a:hover {
	color: var(--burgundy);
}

#navbar,
#topNavContainer,
#topNavContainer .container-fluid {
    padding: 0;
}

.navbar-right {
    background: var(--green);
    display: flex;
    flex-direction: row;
    border: none;
    max-width: 75%;
    overflow-x: hidden;
    height: 100px;
    float: right;
    align-items: center;
}

.navbar-default .navbar-nav > li > a {
    color: #fff;
}

.navbar-default {
    display: flex;
    flex-direction: column-reverse;
    position: fixed;
    z-index: 100;
    width: 100%;
    background: none;
}


/** LOGO **/
@media (min-width: 768px) {
	.navbar-brand > img {
		position: fixed;
	}

	.page1 .activeScroll .navbar-brand > img {
		height: 100px;
		padding: 3px;
		margin-top: -20px;
	}

	.navbar-brand > img {
		max-height: 100px;
		background: #fff;
		border-radius: 100%;
		border: 3px solid var(--red);
		padding: 5px;
		background: linear-gradient(white, white) padding-box, linear-gradient(to right, #eb5a99, #900338, #ef3f1f, #fec00d, #7ca632) border-box;
		border: 4px solid transparent;
		transition: .5s;
		z-index: 10;
	}
	.navbar-brand {
		float: left;
		margin: -134px 50px 0 50px;
		border-radius: 100%;
	}
}

.page1 .navbar-brand {
    float: left;
    margin: -115px 50px 0 50px;
    border-radius: 100%;
}

.page1 .navbar-brand > img {
    max-height: 200px;
    background: #fff;
    border-radius: 100%;
    border: 3px solid var(--red);
    padding: 20px;
	background: linear-gradient(white, white) padding-box, linear-gradient(to right, #eb5a99, #900338, #ef3f1f, #fec00d, #7ca632) border-box;
    border: 4px solid transparent;
	transition: .5s;
	z-index: 10;
}


/** NAV BAR **/
.navbar-default .navbar-nav > li > a {
    font-weight: 400;
    border-left: 1px solid #0000;
    margin: 20px 5px;
    padding: 5px 10px;
	font-size: 15px;
}

.navbar-default .navbar-nav > li > a.current,
.navbar-default .navbar-nav > li > a:hover,
.navbar-default .navbar-nav > li > a:focus {
    color: #ffffff;
    border-color: #fff;
}

#navbar {
    background: var(--green);
    top: 0;
    position: fixed;
    width: 100%;
    z-index: 5;
}


/** BANNER **/
.owlDiv .owlCustom {
    top: 0;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-end;
    padding: 30px 50px;
}

.bannerText {
    text-align: left;
    background: #00000059;
    padding: 20px 30px;
}

.bannerText h1 {
    color: #fff;
    font-size: 4rem;
	text-shadow: 0 0 15px #000;
}

.bannerText p {
    color: #fff;
    font-size: 3rem;
    margin: 0;
	line-height: 1em;
	text-shadow: 0 0 15px #000;
}

.owl-carousel img {
    height: 450px;
    object-fit: cover;
    object-position: 50% 50%;
}

.topbanner-container {
    margin-top: 70px;
}

.owl-carousel {
    margin-bottom: 20px;
    border-bottom: 3px solid #fff;
}

@media (max-width: 767px) {
	.owlDiv .owlCustom {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
	}
	.bannerText {
		text-align: center;
	}
}


/** BUTTONS **/
.btn {
    font-size: 1.6rem;
    border-radius: 0;
    padding: 10px 20px;
    font-weight: 400;
}

.btn-primary {
    background: var(--burgundy);
    color: #fff;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary.focus,
.btn-primary:active,
.btn-primary.active,
.btn-primary:active:focus,
.btn-primary.active.focus {
    background: var(--magenta);
    color: #fff;
}

.btn-secondary {
    background: var(--green);
}

.btn-secondary:hover,
.btn-secondary:focus,
.btn-secondary.focus,
.btn-secondary:active,
.btn-secondary.active,
.btn-secondary:active:focus,
.btn-secondary.active.focus {
    background: var(--viridian);
    color: #fff;
}


/** HOMEPANELS **/
.homePanelText {
    text-align: center;
    margin: -80px auto 40px;
    width: 200px;
    z-index: 10;
    position: relative;
	pointer-events: none;
	font-size: 1.8rem;
}

.homePanelText p {
    background: #fff;
    margin: 0;
    padding: 7px;
    color: #333;
    min-height: 68px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.homePanelText:after {
    content: 'Shop Online';
    background: var(--magenta);
    color: #fff;
    position: relative;
    width: 200px;
    display: inline-flex;
    padding: 7px;
    justify-content: center;
	font-size: 14px;
    font-family: 'Playfair Display';
}


/** CUSTOM SHOPPING CART **/
a.btn.btn-header.headCart {
    position: fixed;
    color: var(--viridian);
    right: 25px;
    bottom: 25px;
    background: var(--yellow);
    border: 2px solid var(--viridian);
    border-radius: 100px;
    height: 60px;
    width: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 100
}

.headCart:hover {
    box-shadow: 0 0 10px #0000007a
}

.headCart #cartItemTotal {
    position: absolute;
    left: -3px;
    top: -3px;
    background: var(--viridian);
    color: var(--yellow);
    height: 20px;
    width: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 100px
}

a.btn.btn-header.headCart:hover a {
    color: var(--yellow);
}

a.btn.btn-header.headCart:hover #cartItemTotal {
    background: var(--yellow);
    color: var(--viridian)
}

.headCart .glyphicon:before {
    font-size: 25px;
}

a.btn.btn-header.headCart:hover {
    background: var(--viridian);
    border: 2px solid var(--yellow);
    color: var(--yellow);
}

@media(max-width: 767px) {
    a.btn.btn-header.headCart {
        display:none;
    }
}

span.glyphicon.glyphicon-shopping-cart {
    display: none;
}

.customBag {
    font-size: 2.5rem;
}


/** PAGE **/
body,
#pageContent {
    background: #736f6e;
}

.container {
    background: none;
}

#contentContainer {
    margin-top: 120px;
}

#contentContainer {
    max-width: 1400px;
    width: 100%;
}


/** HOMEPAGE **/
.page1 #contentContainer {
    margin-top: 0px;
    width: 100%;
    padding: 0;
	max-width: none;
}

.homeSplitLeft,
.homeSplitRight,
.page1 #info {
    padding: 0;
}

.homeSplitLeft img {
    height: 600px;
    width: 100%;
    object-fit: cover;
}

.homeSplitRight .content {
    background: var(--green);
    min-height: 600px;
    margin-left: -45px;
    color: #fff;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    padding: 50px 100px;
}

.homeSplitLeft {
    margin-top: -15px;
}

.homeSplitRight {
    margin-top: 15px;
	box-shadow: 10px 10px 10px #00000024;
}

.homeSplitRight h2 {
    font-size: 4rem;
    color: #fff;
}

.homeSplitRight p {
    color: #fff;
    font-size: 2rem;
}

.homeSplit {
    margin: 50px auto;
}

.page1 #content {
    margin: 0;
}

.homePanelGrid {
    padding: 0 50px;
}


/** FOOTER **/
.footerContainer {
    background: var(--burgundy);
    color: #fff;
	border-top: 3px solid #fff;
}

.footerContainer .row img {content:url(../upload/files/images/footer_fp_inverted.png);}

#footer dt {
    color: #fff;
    font-size: 16px;
    font-weight: 400;
}

#footer a:link,
#footer a:visited {
    color: #fff;
}

#footer a:hover {
	color: var(--yellow);
}

#footer dd {
    color: #fff;
}


/** MOBILE **/
@media (max-width: 767px) {
    .navbar-brand {
        margin: auto;
    }

    .navbar-header {
        display: flex;
        flex-direction: column;
        align-items: center;
        background: var(--burgundy);
        margin-top: 50px;
    }
	
	.navbar-default {
		position: relative;
		height: 170px;
		background: var(--burgundy);

	}
	
	.navbar-brand > img {
		margin-bottom: -115px;
	}
	
	.topbanner-container {
		margin-top: 85px;
	}
	
	#contentContainer {
		margin-top: 80px;
	}
}

@media (min-width: 768px) {
    .head-container {
        display: none;
    }
}

/** MOBILE NAV IMPROVEMENTS **/
.mobile-nav {
	padding-left: 0px;
	text-align: center;
}

.mobile-nav > li > a {
	padding: 10px 0px;
	text-transform: uppercase;
}

.testLogin {
	text-align: center;
	padding-bottom: 10px;
}

/** MOBILE NAV OPEN/CLOSE ANIMATION **/
.navbar-toggle .icon-bar:nth-child(2) {
	transform: translate(0, 10px) rotate(-45deg);
}

.navbar-toggle .icon-bar:nth-child(4) {
	transform: translate(0, -2px) rotate(45deg);
}

.navbar-toggle .icon-bar:nth-child(3) {
	opacity: 0;
}

span.icon-bar {
	transition: 0.4s;
}

.navbar-toggle.collapsed .icon-bar:nth-child(2) {
	transform: none;
}

.navbar-toggle.collapsed .icon-bar:nth-child(4) {
	transform: none;
}

.navbar-toggle.collapsed .icon-bar:nth-child(3) {
	opacity: 1;
}

.navbar-toggle {
    border: none;
}

#mobilenav a,
.addressDataMobile a {
    color: #fff;
}

.navbar-toggle .icon-bar {
	background-color: #fff;
}

.navbar-toggle:hover .icon-bar {
	background-color: #fff;
}


/** CAT NAV **/
.catNavigator dt {
    color: #fff;
    font-size: 16px;
    font-weight: 400;
    border-left: 2px solid #fff;
    padding-left: 10px;
}

.catNavigator dd,
.catNavigator a:link,
.catNavigator a:visited {
    color: #fff;
}

.catNavigator a:hover,
.catNavigator a:focus,
.catNavigator a.current {
	color: var(--burgundy);
	text-decoration: none;
}


/** PRODUCTS **/
/** PRODUCTS **/
.designButton img,
.catImages img,
.promotionPanel img {
    width: 100%;
    height: 420px;
    max-height: none;
    object-fit: cover;
    transition: .7s;
    z-index: 1;
}

.designButton,
.catImages,
.promotionPanel {
    height: auto;
    max-width: 400px;
    margin: 25px auto;
    border: none;
    background: 0 0;
}

.catImages .img-responsive {
    max-height: none;
}

.designButton:hover,
.catImages:hover,
.catImages:hover h2,
.promotionPanel:hover {
    border: none;
    background: 0 0;
}

.designButton:hover img,
.catImages:hover img,
.promotionPanel:hover img {
    scale: 1.2;
	z-index: 1;
}

.designButton .panel-body,
.catImages .panel-body,
.promotionPanel .panel-body {
    padding: 0;
	overflow: hidden;
}

.designButton .title,
.promotionPanel .title,
.catImages h2 {
    font-size: 1.8rem;
    font-weight: 400;
    z-index: 10;
    position: relative;
    background: #736f6e;
    margin-top: 0;
    padding: 10px;
    color: #fff;
}

.designButton .price {
    font-size: 1.4rem;
}

.designList {
    max-width: 1300px;
    margin: 10px;
}

.designButton .price {
	font-size: 1.8rem;
}

.designButton .price {
    position: absolute;
    top: 25px;
    left: 25px;
    width: 90px;
    height: 90px;
    display: flex !important;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background: var(--red);
    border-radius: 100%;
    color: #fff;
    padding: 15px;
    font-size: 2rem;
}

.designButton .price .price {
    font-size: 1.8rem;
    width: 95px;
    height: 95px;
}

.designButton .price:has(.price) {
    width: 0;
    height: 0;
    left: 0;
    top: 0;
    background: #0000;
}

.promotionPanel .title {
    margin-top: 0 !important;
    font-size: 1.6rem !important;
}

.promotionPanel .title strong {
    font-weight: 500;
}

.catImages,
.designButton {
	height: 460px;
	border: none;
	margin-bottom: 20px;
}

.catImages {
    margin-bottom: 50px;
}

@media (max-width: 767px) {
	.catImages,
	.designButton {
		margin-bottom: 60px;
	}
}

.catImages:hover,
.designButton:hover {
	border: none;
}

.designPrices {
    background: none;
    font-size: 1.6rem;
}

.catImages .panel-heading {
    background: #736f6e;
    z-index: 10;
    position: relative;
}

.ribbonCat span::after,
.ribbon span::after,
.ribbon span::before,
.ribbonCat span::before {
    display: none;
} 

.ribbonCat {
	position: absolute;
	right: 25px;
	bottom: 0;
	z-index: 1;
	overflow: visible;
	width: 295px;
	height: 105px;
	text-align: right;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}
  
.ribbonCat span {
    font-size: 2.4rem;
    color: #FFF;
    text-align: center;
    line-height: 25px;
    transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
    background: var(--red) !important;
    position: absolute;
    bottom: 60px;
    right: 0;
    border-radius: 100%;
    width: 90px;
    height: 90px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}


/** MISC **/
.homepanel {
    background: none;
}

#leftNavigator {
    display: none;
}

.contentLeft {
    width: 100%;
}


/** ACCORDION **/
.accordion {
	background-color: #fff;
	color: #444;
	cursor: pointer;
	padding: 18px;
	width: 100%;
	border: none;
	text-align: left;
	outline: none;
	font-size: 15px;
	transition: 0.4s;
	box-shadow: 3px 4px 10px #00000014;
	margin-top: -1px;
}

.active,
.accordion:hover {
	background-color: #fff;
}

.accPanel {
  background: none;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease-out;
  color: #555;
}

.accPanel p {
    padding: 5px 10px;
    margin: 0;
}

.accordion:after {
  content: '+';
  font-size: 28px;
  outline: none;
  background: none;
  color: #555;
  float: right;
  margin-left: 5px;
  margin-top: -10px;
  transform: rotate(0deg);
  transition: .2s ease-in-out;
}

.accordion.active:after {
	transform: rotate(45deg);
	transition: .2s ease-in-out;
}

.accCase {
	background: none;
	margin: 30px auto;
}

.accordion.active {
	border-bottom: 1px solid #00000014;
	border-radius: 0 !important;
	border: none;
}

.accordion:first-of-type {
	border-radius: 10px 10px 0 0;
}

.accPanel p:before {
    content: ' ';
    height: 5px;
    width: 5px;
    background: #555;
    display: inline-block;
    margin-right: 5px;
    border-radius: 100px;
    margin-bottom: 2px;
}

.dropDownCard {
	height: auto;
	min-height: 0;
	background: #ea1a33;
	color: #fff;
}

.dropDownCard {
    display: flex;
    flex-direction: row;
    align-items: center;
	justify-content: flex-start;
}

.dropDownCard p {
	margin: 20px;
}

.dropDownCard p:before {
	display: none;
}

.dropDownCard strong {
	font-size: 20px;
}

@media (max-width: 767px) {
	.dropDownCard {
		display: flex;
		flex-direction: column;
	}
	.dropDownCard p {
		margin: 10px 0 0 0;
	}
}


/** REVIEWS **/
#map-plug {
	display: none;
}

#google-reviews {
	display: flex;
	flex-wrap: wrap;
}

.review-item {
	background: var(--burgundy);
	border: none;
	margin:0 auto;
	padding: 1.5em;
	margin-bottom: 15px;
	width: 100%;
}

@media ( max-width:1200px) {
  .review-item {
	  flex: 1 1 40%;
	}
}

@media ( max-width:450px) {
  .review-item {
	flex: 1 1 90%;
  }
}

.review-meta,
.review-stars {
	font-size: 115%;
}

.review-stars {
	position: absolute;
	left: 180px;
	margin-top: -24px;
}

.review-author {
	text-transform: capitalize;
	font-weight: bold;
	margin-right: 10px;
	margin-top: 10px;
	text-align: right;
	display: block;
	color: #eee;
}

.review-author:before {
	display: block;
	content: "";
	position: absolute;
	left: 0;
	width: 87%;
	height: 1px;
	background: #cca2bc;
	z-index: 1;
	margin-top: 10px;
	margin-left: 57px;
	max-width: 69vw;
}

.review-author i {
	position: relative;
	background: var(--burgundy);
	padding-left: 10px;
	font-style: italic;
	z-index: 5;
	color: #fff;
}

.review-date {
	opacity: 1;
	display: block;
	color: #fff;
}

.review-text {
	line-height: 1.55;
	margin: auto;
	margin-left: 34px;
	clear: none;
	margin-top: 20px;
	color: #fff;
}

.review-stars ul {
	display: inline-block;
	list-style: none !important;
	margin: 0;
	padding: 0;
}

.review-stars ul li {
	float: left;
	list-style: none !important;
	margin-right: 1px;
	line-height: 1;
}

.review-stars ul li i {
	color: #E4B248;
	font-size: 1.4em;
	font-style: normal;
}

.review-stars ul li i.inactive {
	color: #c6c6c6;
}

.star:after {
	content: "\2605";
}


#contactInputs h2,
.contactForm .form-group p {
    display: none;
}

#contactInputs .form-group {
    display: flex;
    flex-direction: row;
    align-items: center;
    width: 100%;
}

#contactInputs input,
#contactInputs textarea {
    border: none;
    box-shadow: none;
    border-bottom: 1px solid #fff;
    background: none;
    border-radius: 0;
	color: #fff;
}

.wedContactFormHere {
    background: var(--burgundy);
    padding: 20px 0px;
}

.contactForm label {
    color: #fff;
    font-weight: 500;
    font-size: 1.4rem;
}

.weddingContactLeft {
    min-height: 475px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.ui-datepicker {
    z-index: 1;
    position: relative;
}

.selectDate {
    z-index: 1;
}

.text-right,
.text-left {
    color: #fff;
}

#shoppingBasket .crossSellProducts .designButton img {
	max-height: 200px;
}

.crossSellProducts .designButton .price {
    font-size: 1.4rem;
    height: 50px;
    width: 50px;
}

.newCSBlock .designList {
    margin: 0 0 20px 0;
}

.designPrices label {
    font-size: 1.6rem;
}

.orderSummaryText {background: #736f6e;}
.orderSummaryText .header {color: #ededed;}



.datepicker.dropdown-menu {
	background: #555;
}


.homePanelGrid img {
    aspect-ratio: 1 / 1;
    object-fit: cover;
    width: 100%;
}