/** GLOBAL CSS **/
:root {
    --color-primary: #173C32;
    --color-secondary: #7C917D;
    --color-tertiary: #B59962;
    --filter-color-primary: brightness(0) invert(20%) sepia(4%) saturate(3511%) hue-rotate(181deg) brightness(89%) contrast(79%);
    --filter-color-secondary: brightness(0) invert(77%) sepia(52%) saturate(282%) hue-rotate(162deg) brightness(96%) contrast(90%);
}

*:not(.carousel *):not(.ry-accordion *):not(#accordion *):not([data-aos-duration]):not(.slick-track):not(#ry-section-header *):not(.fancybox-slide *),
::before,
::after {
    transition: 0.3s ease-in-out all;
}
html, body {
	overflow-x: hidden !important;
}
html {
    scroll-behavior: smooth;
}

a:hover, a:focus {
    outline: none;
}

/* //Removed excess margin on bottom on forms alert */
.alert li:last-child {
    margin-bottom: 0 !important;
}

/* //Add Underline on all hyperlink */
body.default #ry-pg-body a:not(.ry-btn):not(.fa):hover {
    text-decoration: underline !important;
}
.ry-each-link, .ry-each-link a {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: 9;
    opacity: 0;
}
.ry-btn-wrap {
    margin-top: 1.5rem;
    display: flex;
    justify-content: center;
	gap: 10px;
}
.ry-section-background, .ry-section-background img {
	position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
	object-fit: cover;
}
body .ry-headline h2 {		
	font-size: clamp(1.875rem, 1.2059rem + 2.7451vw, 4.5rem);
	letter-spacing: -1px;
	line-height: 1.1 !important;
	text-transform: uppercase;
	color: var(--color-primary);
	font-weight: 500;
	font-family: "Cormorant";
}
body .ry-headline span {
	font-size: clamp(1.25rem, 1.1863rem + 0.2614vw, 1.5rem);
	letter-spacing: 9px;
	line-height: 1.1;
	text-transform: uppercase;
	color: var(--color-secondary);
	font-family: "DM Sans";
	font-weight: 400;
}
.ry-headline {
    margin-bottom: 1.5vw;
}
.ry-section-padding {
	padding: 6rem 0;	
}
.ry-title-separator img {
    max-width: 403px;
    width: 100%;
    margin: 0 auto 2rem;
}
	
	
/** END GLOBAL CSS **/

/** HEADER **/
.header-phone.book-now {
    padding: 4px;
    border: 1px solid var(--color-tertiary);
    border-radius: 30px;
}
.header-phone.book-now .ry-btn {
    background: transparent !important;
    background-image: linear-gradient(0deg, #173d31 0%, #125743 100%) !important;
    font-weight: bold;
	font-size: 20px;
}
a#header-phone {
    border: none;
}
a#header-phone:hover {
    background: transparent !important;
    color: var(--color-primary);
}
.header-phone.book-now .ry-btn:hover {
    background-image: linear-gradient(0deg, #7c917d 0%, #7c917db8 100%) !important;
}
.header-phone.book-now .ry-btn {
    position: relative;
}
.header-phone.book-now .ry-btn:before {
    content: '\f073';
    font-family: fontAwesome;
    font-size: 18px;
    margin-right: 6px;
}
.module-43 .ry-right .btn-wrapper .header-phone span {
    font-weight: bold;
}
	

/** HP HERO **/
.module-66 .bnr-textbox .ry-section-title {
    font-size: clamp(1.875rem, 1.0784rem + 3.268vw, 5rem) !important;
    letter-spacing: -2px;
    text-transform: uppercase;
}
.module-66 .bnr-textbox .ry-section-title-wrapper p {
    font-size: 24px;
    text-align: center;
    color: #fff;
}
.ry-hero-btn-wrap {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    margin-top: 2rem;
}

/** HP WELCOME **/
.ry-hp-welcome-custom {
    position: relative;
    padding: 6rem 0;
    background: #f7f3ea;
}
.ry-hp-welcome-custom .ry-container {
    max-width: 1280px;
    width: 90%;
}
.ry-hp-welcome-custom .ry-flex {
    gap: 8rem;
}
.ry-hp-welcome-custom .ry-flex-wrap {
    display: flex;
    flex-direction: column;
    gap: 40px;
}
.ry-hp-welcome-custom .ry-flex-wrap .ry-flex-blocks {
    display: flex;
    gap: 30px;
    align-items: center;
}
.ry-hp-welcome-custom .ry-flex-wrap .ry-flex-blocks .ry-icon-wrap {
    max-width: 81px;
}
.ry-why-text-details h4 {
    font-size: clamp(1.25rem, 1.1863rem + 0.2614vw, 1.5rem);
    color: var(--color-secondary);
    font-weight: bold !important;
    font-family: "DM Sans" !important;
    margin-bottom: 10px;
}
.ry-why-text-details p {
    color: #303030;
    line-height: 1.4;
}
	
/** HP SERVICES **/
.ry-services.style2 {
    background: #f7f3ea;
}
#section-services:before {
    display: none;
}
.ry-services.style2 .ry-content {
    background: transparent;
    box-shadow: none;
}
.feature-cta .slick-list .each-block .title div {
    font-size: clamp(1.25rem, 1.1863rem + 0.2614vw, 1.5rem);
    color: var(--color-primary)
}
.feature-cta button.slide-arrow {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background-color: transparent;
    border: 1px solid var(--color-tertiary);
}
.feature-cta button.slide-arrow:before {
    color: var(--color-tertiary);
}
.feature-cta button.slide-arrow:hover {
    background-color: var(--color-tertiary);
}
.feature-cta button.slide-arrow:hover:before {
    color: #fff !important;
}
.feature-cta .slick-list .each-block .ry-btn-wrapper a {
    margin-bottom: 8px;
}
	
/** GIFT CARD **/
.module-21.style2:before {
    background: #f7f3ea;
}
.module-21.style2:after {
    height: 920px;
    background-image: url(https://s3.amazonaws.com/static.organiclead.com/Site-dbf74ece-9bca-4ec0-b85a-f5bcaa5f00f8/Homepage_Redesign/gift_massage_bg_n.png);
    top: 28rem;
}

/** GIFT **/
.hp-gift-section .flex--section .inner-content-text * {
    color: #fff;
    text-align: center;
}
.hp-gift-section .flex--section .inner-content-text .ry-text p {
    margin-bottom: 20px;
}
	
.ry-section.hp-cta-packages {background: #f7f3ea;padding: 8rem 0 4rem;}
	
.grid__hp-cta-packages {
    padding-top: 2rem;
}
.ry-section.hp-cta-packages .ry-headline {
    margin-bottom: 0;
}
.ry-section.hp-cta-packages .ry-text {
    margin-bottom: 1.5vw;
}
.ry-section.hp-cta-packages .ry-text p {
    color: #303030;
}
.module-testimonials.option-1:before {
    display: none;
}
.grid__hp-cta-packages .each-cta .cta-text h3 {
    text-transform: uppercase;
}
	
/** GALLERY **/
.gallery-section, .module-testimonials.option-1 {
    background: #f7f3ea;
}
.grid-gallery .gallery-wrapper-v2 .slick-next:before, .grid-gallery .gallery-wrapper-v2 .slick-prev:before {
    font-family: 'Cormorant';
}

.committed-to-excellence-section .ry-headline span {
    color: #fff;
}
.committed-to-excellence-section .ry-title-separator img {
    filter: brightness(0) invert(1);
}
	
/** FOOTER **/
.module-44 .ry-container {
	max-width: 1600px;
	width: 90%;
}
.module-44 .ry-flex {
	max-width: 100%;
	gap: 30px;
}
.module-44 .ry-flex .ry-each:first-child {
    max-width: 400px;
}
.ry-footer-notes {
    margin-top: 20px;
}
.ry-footer-notes p {
    text-align: center;
    font-size: 16px;
    line-height: 1.4;
}
.module-44 .social-icons .social-inner-wrap li .fa-tiktok:before {
    content: '';
    background-image: url("data:image/svg+xml,%3Csvg width='18' height='18' fill='%23fff' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M448,209.91a210.06,210.06,0,0,1-122.77-39.25V349.38A162.55,162.55,0,1,1,185,188.31V278.2a74.62,74.62,0,1,0,52.23,71.18V0l88,0a121.18,121.18,0,0,0,1.86,22.17h0A122.18,122.18,0,0,0,381,102.39a121.43,121.43,0,0,0,67,20.14Z'/%3E%3C/svg%3E");
    background-size: 18px;
    width: 18px;
    height: 18px;
}
.module-44 .social-icons .social-inner-wrap:before, .module-44 .social-icons .social-inner-wrap:after {
    display: none;
}
.module-44 .ry-flex .ry-each h2 {
    text-transform: uppercase;
}
.module-44 .website-info .address:before, .module-44 .website-info .phone:before {
    width: 48px;
    height: 48px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    border: 2px solid var(--color-tertiary);
    font-size: 22px;
    position: relative;
    left: unset;
}
.module-44 .website-info .address, .module-44 .website-info .phone {
    display: flex;
    align-items: center;
    gap: 10px;
    left: unset;
}
.module-44 .website-info .phone a span {
    font-size: clamp(1.375rem, 1.3431rem + 0.1307vw, 1.5rem);
    font-weight: bold;
}
.module-44 .ry-flex .ry-each.ry-each-footer-menu .ry-btn-secondary:hover {
    border: 1px solid var(--color-tertiary);
}

/** PLACE YOUR MOBILE AND UP CSS HERE **/
@media (max-width: 1366px) {
	.module-44 .ry-flex .ry-each:first-child {
		max-width: 240px;
	}	
}
@media (max-width: 1080px) {
	.module-66, .module-66 .carousel .carousel-inner .item, .module-66 img {
		height: auto;
	}
	.module-66 .carousel .carousel-inner .item img {
		display: block;
	}
	.module-66 .bnr-textbox .ry-section-title {
		color: var(--color-primary);
			line-height: 1.1;
			}
	div.module-66 .bnr-textbox {
		background: #f7f3ea;
		padding: 2rem;
		bottom: 0;
		position: relative;
	}
	.module-66 .bnr-textbox .ry-section-title-wrapper p {
		color: #000;
	}
	.ry-hero-btn-wrap {
		flex-direction: column;
	}
	.ry-hp-welcome-custom .ry-flex {
		flex-direction: column;
		gap: 4rem;
	}
	.ry-hp-welcome-custom .ry-flex .ry-each.ry-text-wrap * {
		text-align: center;
	}
	.ry-hp-welcome-custom .ry-flex-wrap .ry-flex-blocks {
		flex-direction: column;
		gap: 10px;
	}
	.module-21.style2 {
		margin-top: -2px;
	}
	.module-21.style2:after {
		display: none;
	}
	.module-44 .website-info .address, .module-44 .website-info .phone {
		flex-direction: column;
	}
	.module-44 .website-info .address:before, .module-44 .website-info .phone:before {
		top: 0 !important;
	}
	.ry-each.ry-each-footer-menu .ry-btn {
		margin: 0 auto;
	}
	.module-44 .ry-flex {
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}
	.module-44 .ry-flex .ry-each * {
		text-align: center !important;
	}
}

@media (min-width: 992px) {

    /** PLACE YOUR LAPTOP AND UP CSS HERE **/
    
}

@media (min-width: 1200px) {

    /** PLACE YOUR DESKTOP AND UP CSS HERE **/
    
}