@import url('https://fonts.googleapis.com/css2?family=Roboto+Serif:ital,opsz,wght@0,8..144,100..900;1,8..144,100..900&family=Source+Sans+3:ital,wght@0,200..900;1,200..900&display=swap');

*{
    box-sizing: border-box!important;
    font-family: "Source Sans 3", sans-serif;
}

html{
	margin: 0;
	padding: 0;
	scroll-behavior: smooth;
}

body{
	width: 100%;
    margin: 0;
	padding: 0;
	background-color: white;
}

pre{
    white-space: pre-wrap;
    white-space: -moz-pre-wrap;
    white-space: -pre-wrap;
    white-space: -o-pre-wrap;
    word-wrap: break-word;
}

.ilm-t1-pink a{
	color: #AA336A!important;
	transition: 0.2s ease;
}

.ilm-t1-pink a:hover{
	color: #a02b61;
	cursor: pointer;
}

.ilm-t1-blue a{
	color: #1c75bc!important;
	transition: 0.2s ease;
}

.ilm-t1-blue a:hover{
	color: #1063a5;
	cursor: pointer;
}

.ilm-t1-jade a{
	color: #4b9b6b!important;
	transition: 0.2s ease;
}

.ilm-t1-jade a:hover{
	color: #398a5a;
	cursor: pointer;
}

.ilm-t1-gold a{
	color: #ca982f!important;
	transition: 0.2s ease;
}

.ilm-t1-gold a:hover{
	color: #c49430;
	cursor: pointer;
}

.row{
    width: 100%;
    display: block;
}

.row-max{
	height: 100%;
}

.row::after {
    content: "";
    clear: both;
    display: table;
}

.row .col-6{
    width: 50%;
    float: left;
}

.row-max .col-6[class^="col-"] {
	height: 100%;
}

.row .col-4{
    width: 33.33%;
    float: left;
}

.row .col-center{
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

.parallax-bg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 120%;
	background-size: cover;
	background-position: center;
	transform: translateY(0);
	will-change: transform;
	z-index: -1;
}

/* CUSTOM CSS */

/** HERO 1 - START**/

.hero1{
	height: 100vh;
	position: relative;
	overflow: hidden;
}

.hero1 .parallax-bg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 120%;
	background-size: cover;
	background-position: center;
	transform: translateY(0);
	will-change: transform;
	z-index: -1;
}

.hero1 .hero1-row{
	width: 100%;
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: flex-start;
	height: 100vh;
}

.hero1 .hero1-row .hero1-col{
	height: 100%;
	flex: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 20px;
}

.hero1 .hero1-row .hero1-col1{
	padding-left: 64px;
	align-items: start;
}

.hero1 .hero1-info{
	z-index: 1;
}

.hero1 .hero1-info p{
	margin: 0;
	padding: 0;
	font-size: 18px;
	font-family: "Roboto Serif", serif!important;
}

.hero1 .hero1-info h1{
	margin-bottom: 0.8em;
	font-size: 2.5em;
	line-height: 1em;
	font-family: "Roboto Serif", serif!important;
	font-weight: 600;
}

.hero1 .hero1-btn{
	margin-top: 40px;
	padding: 16px 24px;
	border: none;
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: speace-between;
	gap: 10px;
	overflow: hidden; /* keep the sheen inside */
	font-weight: 500;
	box-shadow: 0 4px 16px rgba(0,0,0,0.1);
	font-size: 1em;
	transition: 0.2s ease;
	cursor: pointer;
}

.hero1 .hero1-btn-pink{
	color: white;
	/* Base flowing rose gold gradient */
	background: linear-gradient(
		115deg,
		#7d4a4a 0%,     /* deep rose copper */
		#b76e79 18%,    /* muted rose pink */
		#e5b7a5 36%,    /* soft champagne gold */
		#d29985 54%,    /* warm blush */
		#b76e79 72%,    /* rose pink again */
		#7d4a4a 90%     /* coppery shadow */
	);
	background-size: 300% 300%;
	animation: bgGoldFlow 12s linear infinite;
}

.hero1 .hero1-btn-blue{
	color: white;
	/* Base flowing blue silver gradient */
	background: linear-gradient(
	  115deg,
	  #2f5e8c 0%,      /* deep muted royal blue */
	  #4478a8 18%,     /* balanced blue with silver undertone */
	  #cfd6de 36%,     /* soft silver highlight */
	  #5d8ab6 54%,     /* sophisticated desaturated azure */
	  #4478a8 72%,     /* return to polished blue tone */
	  #24364d 90%      /* deep midnight steel base */
	);
	background-size: 300% 300%;
	animation: bgGoldFlow 12s linear infinite;
}

.hero1 .hero1-btn-jade{
	color: white;
	/* Base flowing blue silver gradient */
	background: linear-gradient(
	  115deg,
	  #1e4d3d 0%,      /* deep evergreen jade */
	  #2e6c5b 18%,     /* muted jade midtone */
	  #b8ccc1 36%,     /* misty sage highlight */
	  #4e8d6f 54%,     /* natural jade glow */
	  #2e6c5b 72%,     /* balanced jade reprise */
	  #193c31 90%      /* deep pine green base */
	);
	background-size: 300% 300%;
	animation: bgGoldFlow 12s linear infinite;
}

.hero1 .hero1-btn-gold{
	color: white;
	/* Base flowing blue silver gradient */
	background: linear-gradient(
		115deg,
		#8f6b24 0%,    /* antique brass shadow */
		#a67c25 18%,   /* burnished gold */
		#cf9f3a 36%,   /* rich mid gold */
		#e4c066 54%,   /* soft metallic highlight */
		#cf9f3a 72%,   /* return to gold depth */
		#8f6b24 90%    /* antique brass shadow */
	);
	background-size: 300% 300%;
	animation: bgGoldFlow 12s linear infinite;
}

.hero1 .hero1-btn:hover {
	border: none;
	box-shadow: 0 4px 20px rgba(0,0,0,0.05);
	box-shadow: 
		0 0 5px #ffffff,   /* subtle inner glow */
		0 0 10px #ffffff,  /* medium halo */
		0 0 15px #ffffff;  /* outer glow */
}

.hero1 .hero1-btn > i{
	font-size: 20px;
	transition: 0.2s ease;
}

.hero1 .hero1-btn-pink > i{
	color: #AA336A;
}

.hero1 .hero1-btn-blue > i{
	color: #158ceb;
}

.hero1 .hero1-btn-jade > i{
	color: #44b571;
}

.hero1 .hero1-btn-gold > i{
	color: #d99609;
}

.hero1 .hero1-btn:hover > i{
	text-shadow: 
		0 0 5px #ffffff,   /* subtle inner glow */
		0 0 10px #ffffff,  /* medium halo */
		0 0 15px #ffffff;  /* outer glow */
}

.hero1 .hero1-btn-pink:hover > i{
	color: #FC8EAC;
}

.hero1 .hero1-btn-blue:hover > i{
	color: #1f95f3;
}

.hero1 .hero1-btn-jade:hover > i{
	color: #4fc07c;
}

.hero1 .hero1-btn-gold:hover > i{
	color: #e2a014;
}

.hero1 .memorial-img-oval{
	width: 100%;
	max-width: 400px;
	display: flex;
	flex-direction: column;
	z-index: 1;
}

.hero1 .memorial-img-oval img{
	width: 100%;
	border-radius: 100%;
    outline-offset: 2px; 
}

.hero1 .memorial-img-oval-pink img{
	border: 2px solid transparent;
    outline: 2px solid #EBBC4E;
}

.hero1 .memorial-img-oval-blue img{
	border: 2px solid transparent;
    outline: 2px solid #d1a23d;
}

.hero1 .memorial-img-oval-jade img{
	border: 2px solid transparent;
    outline: 2px solid #d1a23d;
}

.hero1 .memorial-img-oval-gold img{
	border: 2px solid transparent;
    outline: 2px solid #ca982f;
}


.hero1 .lifeinfo-list{
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: row;
	gap: 16px;
	justify-content: start;
	align-items: center;
	font-size: 18px;
	list-style: none;
}

.hero1 .lifeinfo-list > li{
	font-family: "Roboto Serif", serif!important;
}

.hero1 .h1-scrolldown{
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	padding-bottom: 20px;
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
	text-transform: uppercase;
	opacity: 1;
	transition: opacity 0.2s ease;
}

.hero1 .h1-scrolldown.hidden{
	opacity: 0;
	pointer-events: none;
}

.hero1 .h1-scrolldown > span{
	font-size: 0.9em;
	font-weight: 400;
	color: rgba(0,0,0,0.7);
	letter-spacing: 2px;
	display: inline-block;
	animation: bob 2.5s ease-in-out infinite;
}

@keyframes bob {
	0%, 100% {
		transform: translateY(0);
	}
	50% {
		transform: translateY(4px); /* Adjust height as you like */
	}
}

/** HERO 1 - END**/

/** LIFEOF 1 - START**/

.lifeof1{
	padding: 80px 20px;
	position: relative;
}

.lifeof1 .lo1-container{
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.lifeof1 .lo1-container .lo1-header{
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
}

.lifeof1 .lo1-container .lo1-header > h1{
	font-size: 2.0em;
	line-height: 0.5em;
	font-family: "Roboto Serif", serif!important;
	font-weight: 600;
}

.lifeof1 .lo1-container .lo1-slider{
	display: flex;
	flex-direction: column;
	gap: 64px;
	position: relative;
}

.lo1-slider .lo1s-timeline .lo1st{
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
	gap: 40px;
	list-style: none;
}

.lo1-slider .lo1s-timeline .lo1st > li {
	position: relative;
}

.lo1-slider .lo1s-timeline .lo1st > li:not(:last-child)::after {
	content: "";
	position: absolute;
	right: -36px; /* half of the gap to center it */
	top: 50%;
	transform: translateY(-50%);
	width: 32px; /* same as gap */
	height: 0.5px;
	background-color: rgba(0,0,0,0.2); /* adjust line color */
}

.lo1-slider .lo1s-timeline .lo1st > li a {
	font-weight: 500;
	text-decoration: none;
	color: inherit;
	transition: 0.2s ease;
}

.lo1-slider .lo1s-timeline .lo1st > li a:hover{
	text-decoration: underline;
}

.lo1-slider .lo1s-timeline .lo1st > .active a {
	font-weight: 600;
	text-decoration: underline;
}

.lo1-slider .lo1s-timeline .lo1st > .active a:hover{
	text-decoration: underline;
}

.lo1s-cards{
	position: relative;
}

.lo1s-cards .lo1s-card{
	width: 1024px;
	margin: 0 auto;
	display: none;
	opacity: 0;
	transition: opacity 0.5s ease;
}

.lo1s-cards .lo1s-card.active{
	display: block;
	opacity: 1;
}

.lo1s-cards .lo1s-card .sc-row{
	width: 100%;
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: flex-start;
	gap: 0px;
}

.lo1s-cards .lo1s-card .sc-row .sc-col{
	flex: 1 1 0;
}

.lo1s-cards .lo1s-card .sc-img{
	width: 80%;
	border: 8px solid white;
	border-radius: 8px;
	box-shadow: 0 4px 6px rgba(0,0,0,0.25);
	transition: transform 0.4s ease, box-shadow 0.4s ease;
}

.lo1s-cards .lo1s-card .sc-img:hover {
	transform: scale(1.05) rotate(2deg);
	box-shadow: 0 8px 16px rgba(0,0,0,0.35);
}

.lo1s-cards .lo1s-card .sc-title{
	margin-bottom: 24px;
	font-size: 1.25em;
	line-height: 1em;
	font-weight: 600;
}

.lo1s-cards .lo1s-card .sc-content{
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.lo1s-cards .lo1s-card .sc-content p{
	margin: 0;
	padding: 0;
	font-size: 1em;
	line-height: 1.5em;
	text-align: justify;
}

/* --- Sequential entrance animation --- */
.sc-img,
.sc-title,
.sc-content {
	opacity: 0;
	transform: translateY(10px);
	transition: opacity 0.6s ease, transform 0.6s ease;
}

.fade-in {
	opacity: 1;
	transform: translateY(0);
}

.lo1-slider .lo1s-controls{
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: flex-end;
}

.lo1-slider .lo1s-controls .cbtns{
	width: 50%;
}

.lo1s-controls .control-btn{
	margin: 0;
	margin-right: 8px;
	padding: 12px 24px;
	font-size: 1em;
	font-weight: 600;
	box-shadow: 0 4px 16px rgba(0,0,0,0.1);
	transition: 0.2s ease;
}

.lo1s-controls .control-btn-pink{
	background-color: white;
	color: #AA336A;
	border: 1px solid white;
}

.lo1s-controls .control-btn-blue{
	background-color: white;
	color: #1c75bc;
	border: 1px solid white;
}

.lo1s-controls .control-btn-jade{
	background-color: white;
	color: #4b9b6b;
	border: 1px solid white;
}

.lo1s-controls .control-btn-gold{
	background-color: white;
	color: #ca982f;
	border: 1px solid white;
}

.lo1s-controls .control-btn:hover{
	border: 1px solid #f2f2f2;
	box-shadow: 0 4px 20px rgba(0,0,0,0.05);
	cursor: pointer;
}

.lo1s-controls .control-btn:active{
	border: 1px solid #f2f2f2;
	box-shadow: 0 2px 10px rgba(0,0,0,0.05);
	background-color: #f0f0f0;
	cursor: pointer;
}

/** LIFEOF 1 - END**/

/** LIFESJOY 1 - START**/

.lifesjoy1{
	/*height: 100vh;*/
	position: relative;
	overflow: hidden;
}

.lifesjoy1 .parallax-bg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 120%;
	background-size: cover;
	background-position: center;
	transform: translateY(0);
	will-change: transform;
	z-index: -1;
}

.lj1-container{
	width: 100%;
	padding: 80px 0px;
	display: flex;
	flex-direction: column;
	gap: 40px;
}

.lj1-container .lj1-header{
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
}

.lj1-container .lj1-header > h1{
	font-size: 2.0em;
	line-height: 0.5em;
	font-family: "Roboto Serif", serif!important;
	font-weight: 600;
}

.lj1-container .lj1-body{
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
}

.lj1-marquee{
	overflow: hidden;
	position: relative;
	width: 100%;
}

/* left fade
.lj1-marquee::before,
.lj1-marquee::after {
  content: "";
  position: absolute;
  top: 0;
  width: 80px;   
  height: 100%;
  pointer-events: none;
  z-index: 2;
}

.lj1-marquee::before {
  left: 0;
  background: linear-gradient(to right, #FFD1DC 0%, transparent 100%);
}

.lj1-marquee::after {
  right: 0;
  background: linear-gradient(to left, #FFD1DC 0%, transparent 100%);
} */

.lj1-marquee .marquee-track{
	display: flex;
	flex-direction: row;
	align-items: start;
	justify-content: center;
	gap: 20px;
	flex-wrap: nowrap;
	width: max-content;  /* Auto-size to fit items */
	animation: marqueeScroll 30s linear infinite;
}

.lj1-marquee .marquee-track:hover {
  animation-play-state: paused;
}

.lj1-marquee .marquee-track .item{
	padding: 16px 24px;
	border-radius: 32px;
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: speace-between;
	gap: 10px;
	font-size: 20px;
	transition: 0.2s ease;
	flex: 0 0 auto;
}

.lj1-marquee-pink .marquee-track .item{
	border: 2px solid #AA336A;
	background-color: white;
}

.lj1-marquee-blue .marquee-track .item{
	border: 2px solid #1c75bc;
	background-color: white;
}

.lj1-marquee-jade .marquee-track .item{
	border: 2px solid #4b9b6b;
	background-color: white;
}

.lj1-marquee-gold .marquee-track .item{
	border: 2px solid #ca982f;
	background-color: white;
}

@keyframes marqueeScroll {
  0%   { transform: translateX(0%); }
  100% { transform: translateX(-50%); } /* Only scroll halfway, since items are duplicated */
}

.lj1-marquee-pink .marquee-track .item:hover {
	color: white;
	border-color: #FC8EAC;
	overflow: hidden; /* keep the sheen inside */
	
	/* Base flowing rose gold gradient */
	background: linear-gradient(
		115deg,
		#7d4a4a 0%,     /* deep rose copper */
		#b76e79 18%,    /* muted rose pink */
		#e5b7a5 36%,    /* soft champagne gold */
		#d29985 54%,    /* warm blush */
		#b76e79 72%,    /* rose pink again */
		#7d4a4a 90%     /* coppery shadow */
	);
	background-size: 300% 300%;
	animation: bgGoldFlow 12s linear infinite;
}

.lj1-marquee-blue .marquee-track .item:hover {
	color: white;
	border-color: #2583cf;
	overflow: hidden; /* keep the sheen inside */
	
	/* Base flowing gold gradient */
	background: linear-gradient(
	  115deg,
	  #2f5e8c 0%,      /* deep muted royal blue */
	  #4478a8 18%,     /* balanced blue with silver undertone */
	  #cfd6de 36%,     /* soft silver highlight */
	  #5d8ab6 54%,     /* sophisticated desaturated azure */
	  #4478a8 72%,     /* return to polished blue tone */
	  #24364d 90%      /* deep midnight steel base */
	);
	background-size: 300% 300%;
	animation: bgGoldFlow 12s linear infinite;
}

.lj1-marquee-jade .marquee-track .item:hover {
	color: white;
	border-color: #44b571;
	overflow: hidden; /* keep the sheen inside */
	
	/* Base flowing gold gradient */
	background: linear-gradient(
	  115deg,
	  #1e4d3d 0%,      /* deep evergreen jade */
	  #2e6c5b 18%,     /* muted jade midtone */
	  #b8ccc1 36%,     /* misty sage highlight */
	  #4e8d6f 54%,     /* natural jade glow */
	  #2e6c5b 72%,     /* balanced jade reprise */
	  #193c31 90%      /* deep pine green base */
	);
	background-size: 300% 300%;
	animation: bgGoldFlow 12s linear infinite;
}

.lj1-marquee-gold .marquee-track .item:hover {
	color: white;
	border-color: #e1a933;
	overflow: hidden; /* keep the sheen inside */
	
	/* Base flowing gold gradient */
	background: linear-gradient(
		115deg,
		#8f6b24 0%,    /* antique brass shadow */
		#a67c25 18%,   /* burnished gold */
		#cf9f3a 36%,   /* rich mid gold */
		#e4c066 54%,   /* soft metallic highlight */
		#cf9f3a 72%,   /* return to gold depth */
		#8f6b24 90%    /* antique brass shadow */
	);
	background-size: 300% 300%;
	animation: bgGoldFlow 12s linear infinite;
}

@keyframes bgGoldFlow {
	0%   { background-position: 0% 50%; }
	50%  { background-position: 100% 50%; }
	100% { background-position: 0% 50%; }
}

.lj1-marquee-pink .marquee-track .item > i{
	font-size: 20px;
	color: #AA336A;
}

.lj1-marquee-blue .marquee-track .item > i{
	font-size: 20px;
	color: #1c75bc;
}

.lj1-marquee-jade .marquee-track .item > i{
	font-size: 20px;
	color: #4b9b6b;
}

.lj1-marquee-gold .marquee-track .item > i{
	font-size: 20px;
	color: #d49c26;
}

.lj1-marquee-pink .marquee-track .item:hover > i{
	color: #FC8EAC;
	text-shadow: 
		0 0 5px #ffffff,   /* subtle inner glow */
		0 0 10px #ffffff,  /* medium halo */
		0 0 15px #ffffff;  /* outer glow */
}

.lj1-marquee-blue .marquee-track .item:hover > i{
	color: #2583cf;
	text-shadow: 
		0 0 5px #ffffff,   /* subtle inner glow */
		0 0 10px #ffffff,  /* medium halo */
		0 0 15px #ffffff;  /* outer glow */
}

.lj1-marquee-jade .marquee-track .item:hover > i{
	color: #44b571;
	text-shadow: 
		0 0 5px #ffffff,   /* subtle inner glow */
		0 0 10px #ffffff,  /* medium halo */
		0 0 15px #ffffff;  /* outer glow */
}

.lj1-marquee-gold .marquee-track .item:hover > i{
	color: #e1a933;
	text-shadow: 
		0 0 5px #ffffff,   /* subtle inner glow */
		0 0 10px #ffffff,  /* medium halo */
		0 0 15px #ffffff;  /* outer glow */
}

.lj1-container .lj1-footer{
	height: 256px;
	display: flex;
	flex-direction: row;
	align-items: start;
	justify-content: center;
}

.lj1-container .lj1-footer .lj1f-content{
	width: 512px;
}

.lj1-container .lj1-footer .lj1f-content p{
	text-align: justify;
	line-height: 2em;
	color: rgba(0,0,0,0.8);
}

/** LIFESJOY 1 - END**/

/** QUOTESEC 1 - START**/

.quotesec1{
	min-height: 100vh;
	position: relative;
	width: 100%;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	justify-content: center;
	background: linear-gradient(
  to top,
  rgba(255, 255, 255, 1) 0%,   /* solid white at bottom */
  rgba(255, 255, 255, 0) 100%  /* transparent at top */
);
}

.qs1-container{
	padding: 80px 20px;
	display: flex;
	flex-direction: column;
	gap: 40px;
	align-items: center;
	justify-content: center;
}

.qs1-container .qs1-block{
	width: 100%;
	max-width: 800px;
	padding: 8px 16px;
}

.qs1-container .qs1-block-pink{
	background-color: rgba(108, 28, 65, 1);
}

.qs1-container .qs1-block-blue{
	background-color: #0d3e64;
}

.qs1-container .qs1-block-jade{
	background-color: #244e40;
}

.qs1-container .qs1-block-gold{
	background-color: #8a6120;
}

.qs1-block > .quote{
	font-size: 2.5em;
	line-height: 1.2em;
	font-family: "Roboto Serif", serif!important;
	font-weight: 600;
	text-align: center;
}

.qs1-block-pink > .quote{
	/* Gradient applied to text */
	background: linear-gradient(
		115deg,
		#7d4a4a 0%,     /* deep rose copper */
		#b76e79 18%,    /* muted rose pink */
		#e5b7a5 36%,    /* soft champagne gold */
		#d29985 54%,    /* warm blush */
		#b76e79 72%,    /* rose pink again */
		#7d4a4a 90%     /* coppery shadow */
	);
	
	background-size: 300% 300%;
	animation: gradientTxtFlow 12s linear infinite;

	/* Make gradient fill the text */
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	color: transparent;
}

.qs1-block-blue > .quote{
	background: linear-gradient(
	  115deg,
	  #4e6fa3 0%,
	  #6f8fb8 18%,
	  #e0e5ef 36%,     /* misty pearl highlight */
	  #86a2c3 54%,
	  #6f8fb8 72%,
	  #243757 90%      /* midnight indigo base */
	);
	
	background-size: 300% 300%;
	animation: gradientTxtFlow 12s linear infinite;

	/* Make gradient fill the text */
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	color: transparent;
}

.qs1-block-jade > .quote{
	background: linear-gradient(
	  115deg,
	  #1e4d3d 0%,      /* deep evergreen jade */
	  #2e6c5b 18%,     /* muted jade midtone */
	  #b8ccc1 36%,     /* misty sage highlight */
	  #4e8d6f 54%,     /* natural jade glow */
	  #2e6c5b 72%,     /* balanced jade reprise */
	  #193c31 90%      /* deep pine green base */
	);
	
	background-size: 300% 300%;
	animation: gradientTxtFlow 12s linear infinite;

	/* Make gradient fill the text */
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	color: transparent;
}

.qs1-block-gold > .quote{
	background: linear-gradient(
		115deg,
		#b38a2d 0%,    /* warm deep gold */
		#cfa13a 18%,   /* rich golden base */
		#e6c15f 36%,   /* soft metallic highlight */
		#f1d58a 54%,   /* pale champagne gold */
		#e6c15f 72%,   /* golden light */
		#b38a2d 90%    /* subtle depth return */
	);
	
	background-size: 300% 300%;
	animation: gradientTxtFlow 12s linear infinite;

	/* Make gradient fill the text */
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	color: transparent;
}

@keyframes gradientTxtFlow {
	0%   { background-position: 0% 50%; }
	50%  { background-position: 100% 50%; }
	100% { background-position: 0% 50%; }
}

/** QUOTESEC 1 - END**/

/** MEMGRID 1 - START**/

.memory-grid1{
	position: relative;
	width: 100%;
	background-color: #f8f8f8;
}

.mg1-container{
	padding: 80px 20px;
	display: flex;
	flex-direction: column;
	gap: 40px;
}

.mg-header{
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 20px;
}

.mg-header > h1{
	font-size: 2.0em;
	line-height: 0.5em;
	font-family: "Roboto Serif", serif!important;
	font-weight: 600;
}

.mg-body{
	display: flex;
	flex-direction: column;
	align-items: start;
	justify-content: start;
	gap: 20px;
	position: relative;
}

.mg-slider{
	margin-bottom: 20px;
	width: 100%;
	position: relative;
}

.mg-slider .mgs-slides{
	width: 100%;
	padding: 16px 4px;
	overflow: hidden;
}

.mg-slider .mgs-track{
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	align-items: center;
	gap: 32px;
	transition: transform 0.5s ease-in-out;
	will-change: transform;
}

.mg-slider .mgs-track .memory-card{
	width: 100%;
	max-width: 360px;
	border-radius: 40px;
	height: auto;
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 10px;
	border: 1px solid rgba(0,0,0,0.08);
	box-shadow: 0 4px 8px rgba(0,0,0,0.2);
	background-color: white;
	
	flex: 0 0 auto;
	box-sizing: border-box;
}

.memory-card .mc-info{
	padding: 10px 10px 5px 10px;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.memory-card .mc-info .mci-header{
	padding: 10px 0 10px 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 8px;
	border-bottom: 1px solid rgba(0,0,0,0.1);
}

.memory-card .mc-info .mci-header .mcih-name{
	font-size: 1.0em;
	line-height: 1em;
	font-family: "Roboto Serif", serif!important;
	font-weight: 600;
}

.memory-card .mc-info .mci-header .mcih-date{
	font-size: 0.9em;
	line-height: 1em;
	color: rgba(0,0,0,0.5);
}

.mg-slider .mgs-track .memory-card .mc-body{
	height: 320px;
	padding: 0 4px 4px 4px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.mg-slider .mgs-track .mct-txt .mc-body{
	justify-content: center;
}

.mg-slider .mgs-track .memory-card .mc-body .mc-txt{
	margin: 0;
	padding: 0 8px 10px 8px;
	font-size: 0.9em;
	line-height: 2em;
	color: rgba(0,0,0,0.7);
}

.mg-slider .mgs-track .mct-txt .mc-body .mc-txt{
	font-size: 1.2em;
	line-height: 2em;
	color: rgba(0,0,0,0.7);
}

.mg-slider .mgs-track .memory-card .mc-body .mc-media{
	height: 240px;
	border-top-left-radius: 2px;
	border-top-right-radius: 2px;
	border-bottom-left-radius: 36px;
	border-bottom-right-radius: 36px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}

.mc-media .mcm-img{
	width: 100%;
}

.mg-footer{
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
	gap: 20px;
}

.mg-footer .mgf-btn{
	margin: 0;
	padding: 16px 32px;
	font-size: 1em;
	font-weight: 600;
	box-shadow: 0 4px 16px rgba(0,0,0,0.1);
	transition: 0.2s ease;
}

.mg-footer .mgf-btn-pink{
	background-color: white;
	color: #AA336A;
	border: 1px solid white;
}

.mg-footer .mgf-btn-blue{
	background-color: white;
	color: #1c75bc;
	border: 1px solid white;
}

.mg-footer .mgf-btn-jade{
	background-color: white;
	color: #4b9b6b;
	border: 1px solid white;
}

.mg-footer .mgf-btn-gold{
	background-color: white;
	color: #ca982f;
	border: 1px solid white;
}

.mg-footer .mgf-btn:hover{
	border: 1px solid #f2f2f2;
	box-shadow: 0 4px 20px rgba(0,0,0,0.05);
	cursor: pointer;
	/*transform: scale(1.05) translateY(-2px);*/
}

.mg-footer .mgf-btnb{
	margin: 0;
	padding: 16px 32px;
	font-size: 1em;
	font-weight: 500;
	box-shadow: 0 4px 16px rgba(0,0,0,0.1);
	transition: 0.2s ease;
}

.mg-footer .mgf-btnb-pink{
	background-color: #AA336A;
	color: white;
	border: 1px solid #AA336A;
}

.mg-footer .mgf-btnb-blue{
	background-color: #1c75bc;
	color: white;
	border: 1px solid #1c75bc;
}

.mg-footer .mgf-btnb-jade{
	background-color: #4b9b6b;
	color: white;
	border: 1px solid #4b9b6b;
}

.mg-footer .mgf-btnb-gold{
	background-color: #ca982f;
	color: white;
	border: 1px solid #ca982f;
}

.mg-footer .mgf-btnb:hover{
	box-shadow: 0 4px 20px rgba(0,0,0,0.05);
	cursor: pointer;
	/*transform: scale(1.05) translateY(-2px);*/
}

.mg-footer .mgf-btnb-pink:hover{
	border: 1px solid #a02b61;
	background-color: #a02b61;
}

.mg-footer .mgf-btnb-blue:hover{
	border: 1px solid #1063a5;
	background-color: #1063a5;
}

.mg-footer .mgf-btnb-jade:hover{
	border: 1px solid #398859;
	background-color: #398859;
}

.mg-footer .mgf-btnb-gold:hover{
	border: 1px solid #c69123;
	background-color: #c69123;
}

.mg-body .mgs-btn{
	margin: 0;
	padding: 10px 20px;
	font-size: 2em;
	border: none;
	color: rgba(0,0,0,0.4);
	background-color: rgba(255,255,255,0.4);
	z-index: 100;
	position: absolute;
	top: 40%;
	cursor: pointer;
	transition: 0.2s ease;
}

.mg-body .mgs-btn:hover{
	color: rgba(0,0,0,0.6);
	background-color: rgba(255,255,255,0.6);
}

.mg-body .mgs-btn:active{
	color: rgba(0,0,0,0.7);
	background-color: rgba(255,255,255,0.7);
}

.mg-body .mgs-left{
	left: 0;
}

.mg-body .mgs-right{
	right: 0;
}

/** MEMGRID 1 - END**/

/** GALLERY 1 - START**/

.gallery1{
	padding: 80px 20px;
	position: relative;
}

.gallery1 .g1-container .g1-header{
	margin-bottom: 60px;
}

.gallery1 .g1-container .g1-header > h1{
	font-size: 2.0em;
	line-height: 0.5em;
	font-family: "Roboto Serif", serif!important;
	font-weight: 600;
}

.gallery1 .g1-container .g1-header > .subh{
	font-size: 1.0em;
	line-height: 1em;
	color: rgba(0,0,0,0.7);
}

.g1-grid {
	width: 100%;
	margin: 0 auto;
}

/* fallback (mobile first) */
.grid-sizer,
.grid-item {
	width: 47%;
}

.mgrid > .grid-sizer,
.mgrid > .grid-item {
	width: 100%;
}

.grid-item {
	margin-bottom: 15px;
	border-radius: 12px;
	overflow: hidden;
}

.grid-item img {
	display: block;
	width: 100%;
	height: auto;
	object-fit: cover;
}

.g1-gframe{
	height: 90vh;
	overflow: hidden;
	position: relative;
}

.g1-gframe .g1gf-bottom{
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	height: 40vh;
	padding-bottom: 10px;
	background: linear-gradient(to top, white 0%, transparent 100%);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-end;
}

.g1-gframe .g1gf-bottom .g1-btn{
	margin: 0;
	padding: 16px 32px;
	font-size: 1em;
	background-color: #AA336A;
	color: white;
	font-weight: 500;
	border: 1px solid #AA336A;
	box-shadow: 0 4px 16px rgba(0,0,0,0.1);
	transition: 0.2s ease;
}

.g1-gframe .g1gf-bottom .g1-btn-pink{
	background-color: #AA336A;
	color: white;
	border: 1px solid #AA336A;
}

.g1-gframe .g1gf-bottom .g1-btn-blue{
	background-color: #1c75bc;
	color: white;
	border: 1px solid #1c75bc;
}

.g1-gframe .g1gf-bottom .g1-btn-jade{
	background-color: #4b9b6b;
	color: white;
	border: 1px solid #4b9b6b;
}

.g1-gframe .g1gf-bottom .g1-btn-gold{
	background-color: #ca982f;
	color: white;
	border: 1px solid #ca982f;
}

.g1-gframe .g1gf-bottom .g1-btn:hover{
	box-shadow: 0 4px 20px rgba(0,0,0,0.05);
	cursor: pointer;
	/*transform: scale(1.05) translateY(-2px);*/
	
}

.g1-gframe .g1gf-bottom .g1-btn-pink:hover{
	border: 1px solid #a02b61;
	background-color: #a02b61;
	
}

.g1-gframe .g1gf-bottom .g1-btn-blue:hover{
	border: 1px solid #1063a5;
	background-color: #1063a5;
	
}

.g1-gframe .g1gf-bottom .g1-btn-jade:hover{
	border: 1px solid #398859;
	background-color: #398859;
}

.g1-gframe .g1gf-bottom .g1-btn-gold:hover{
	border: 1px solid #c69123;
	background-color: #c69123;
}

/** GALLERY 1 - END**/

/** FOOTER 1 - START**/

.ilm-footer1{
	padding: 80px 20px;
	position: relative;
	background-color: #f8f8f8;
}

.ilm-footer1 .ilmf1-container{
	display: flex;
	flex-direction: column;
	align-items: start;
	gap: 20px;
}

.ilm-footer1 .ilmf1-container .ilmf1-info{
	width: 100%;
	display: flex;
	flex-direction: row;
	gap: 20px;
}

.ilmf1-info .ilmf1i-section{
	padding: 10px;
	flex: 1 1 0; /* shorthand for flex-grow, flex-shrink, flex-basis */
	min-width: 0; /* prevents content from forcing the width */
	display: flex;
	flex-direction: column;
	gap: 10px;
	justify-content: flex-start;
	align-items: center;
}

.ilmf1-info .ilmf1i-section.ais{
	align-items: start;
}

.ilmf1-info .ilmf1i-section .section-info{
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.ilmf1-info .ilmf1i-section .section-info .title{
	font-size: 1.2em;
	line-height: 1em;
	font-weight: 500;
	color: rgba(0,0,0,1);
	font-family: "Roboto Serif", serif!important;
}

.ilmf1-info .ilmf1i-section .section-info .address{
	font-size: 16px;
	line-height: 1.5em;
}

.ilmf1-info .ilmf1i-section .section-info .contacts{
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.ilmf1-info .ilmf1i-section .section-info .contacts > li{
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	align-items: center;
	font-size: 16px;
	gap: 8px;
}

.ilmf1-info .ilmf1i-section .section-info .contacts > li span{
	width: 20px; height: 20px;
	border-radius: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

.ilmf1-info .ilmf1i-section-pink .section-info .contacts > li span{
	background-color: #AA336A;
}

.ilmf1-info .ilmf1i-section-blue .section-info .contacts > li span{
	background-color: #1c75bc;
}

.ilmf1-info .ilmf1i-section-jade .section-info .contacts > li span{
	background-color: #4b9b6b;
}

.ilmf1-info .ilmf1i-section-gold .section-info .contacts > li span{
	background-color: #ca982f;
}

.ilmf1-info .ilmf1i-section .section-info .contacts > li span i{
	font-size: 14px;
	color: white;
	display: inline-block;
}

.ilmf1-info .ilmf1i-section .section-info .don-info{
	margin: 0;
	padding: 0;
	list-style: none;
}

.ilmf1-info .ilmf1i-section .section-info .don-info > li{
	font-size: 16px;
}

.ilmf1-info .ilmf1i-section .section-info .don-info > li:first-child{
	margin-bottom: 4px;
	font-size: 0.9em;
	line-height: 1em;
	font-weight: 600;
	color: rgba(0,0,0,0.4);
	font-family: "Roboto Serif", serif!important;
}

.ilm-footer1 .ilmf1-container .ilmf1-bottom{
	padding: 0 10px;
}

.ilm-footer1 .ilmf1-container .ilmf1-bottom p{
	font-size: 14px;
}

/** FOOTER 1 - END**/

/** HERO VIEW **/

.hp-view{
	max-height: 100vh;
	position: fixed;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	background-color: rgba(255,255,255,0.9);
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 20px;
	z-index: 100;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 0.4s ease;
}

.hp-view.active {
	visibility: visible;
	opacity: 1;
	pointer-events: all;
}

.hp-view .hpv-header{
	position: absolute;
	top: 10px; right: 0;
}

.hp-view .hpv-header .close{
	padding: 20px;
	font-size: 1.5em;
	color: rgba(0,0,0,0.2);
	cursor: pointer;
	transition: 0.2s ease;
}

.hp-view .hpv-header .close:hover{
	color: rgba(0,0,0,0.3);
}

.hp-view .hpv-media{
	width: 100%;
	padding: 20px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	transform: scale(0.95);
	opacity: 0;
	transition: transform 0.4s ease, opacity 0.4s ease;
}

.hp-view.active .hpv-media {
	transform: scale(1);
	opacity: 1;
}

.hp-view .hpv-media .hpvm{
	max-width: 100%;
	max-height: 80vh;
	object-fit: contain;
	transition: all 0.3s ease;
	box-shadow: 0 4px 8px rgba(0,0,0,0.8);
}

/** GALLERY PAGE - START **/

.galleryp-header{
	width: 100%;
	margin: 0;
	padding: 80px 20px 40px 20px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	
	position: relative;
}

.galleryp-header-pink{
	background: linear-gradient(180deg, #FFE6EB 0%, #FCE8EF 50%, #FFF5F8 100%);
}

.galleryp-header-blue{
	background: linear-gradient(
		90deg,
		#d8edff 0%,   /* gentle pastel blue (slightly deeper left) */
		#eaf6ff 50%,  /* soft sky haze */
		#f8fcff 100%  /* airy white-blue highlight */
	);
}

.galleryp-header-jade{
	background: linear-gradient(
		90deg,
		#c8e9d7 0%,   /* soft jade mist (deeper left) */
		#d9f1e2 50%,  /* pastel mint midtone */
		#f3fbf7 100%  /* airy white-green highlight */
	);
}

.galleryp-header-gold{
	background: linear-gradient(
		90deg,
		#f2e3c3 0%,   /* muted golden mist (deeper left) */
		#f8edcf 50%,  /* pastel honey glow */
		#fdf8ea 100%  /* airy cream-gold highlight */
	);
}

.galleryp-header .gph-container{
	width: 800px;
}

.gph-container .gphc-content{
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
	gap: 24px;
}

.gphc-content .img-oval{
	width: 100%;
	max-width: 80px;
	display: flex;
	flex-direction: column;
	z-index: 1;
}

.gphc-content .img-oval img{
	width: 100%;
	border-radius: 100%;
    outline-offset: 1px; 
}

.gphc-content .img-oval-pink img{
	border: 1px solid transparent;
    outline: 1px solid #EBBC4E;
}

.gphc-content .img-oval-blue img{
	border: 1px solid transparent;
    outline: 1px solid #d1a23d;
}

.gphc-content .img-oval-jade img{
	border: 1px solid transparent;
    outline: 1px solid #d1a23d;
}

.gphc-content .img-oval-gold img{
	border: 1px solid transparent;
    outline: 1px solid #ca982f;
}

.gphc-content .gphc-info{
	display: flex;
	flex-direction: column;
	gap: 4px;
	align-items: start;
	justify-content: center;
}

.gphc-content .gphc-info p{
	margin: 0;
	padding: 0;
	font-size: 1em;
	font-family: "Roboto Serif", serif!important;
}

.gphc-content .gphc-info h4{
	margin: 0;
	font-size: 1.5em;
	line-height: 1.5em;
	font-family: "Roboto Serif", serif!important;
	font-weight: 600;
}

.gphc-content .gphc-info .gphci-subheader{
	font-size: 0.8em;
	line-height: 1.5em;
	font-weight: 400;
	text-transform: uppercase;
}

.gp-crumbs{
	width: 100%;
	padding: 20px 20px 0 20px;
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
	gap: 20px;
}

.gp-crumbs-footer{
	padding: 0px 20px 20px 20px;
}

.gp-crumbs > a{
	font-size: 14px!important;
}

.gp-crumbs > .crumbs{
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-direction: row;
}

.gp-crumbs > .crumbs li,
.gp-crumbs > .crumbs li a{
	font-size: 14px!important;
}

.gp-crumbs > .crumbs li{
	color: rgba(0,0,0,0.5);
}

.gp-crumbs > .crumbs li:after{
	display: inline-block;
	content: "/";
	padding: 0 12px;
	color: rgba(0,0,0,0.2);
}

.gp-crumbs > .crumbs li:last-child:after{
	content: "";
	padding: 0 0px;
}

.galleryp{
	padding: 64px 20px 80px 20px;
	position: relative;
}

.galleryp .gp-container,
.galleryp .gp-frame,
.galleryp .gp-frame .gp-grid{
	width: 100%;
}

.gp-grid .grid-item .gim{
	position: relative;
}

.gp-grid .grid-item .gim #play{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 10;
	font-size: 2.5em;
	color: rgba(255,255,255,0.8);
	text-shadow: 0 2px 4px rgba(0,0,0,0.1);
	transition: 0.2s ease;
}

.gp-grid .grid-item .gim:hover #play{
	color: rgba(255,255,255,0.9);
}

.gp-grid .grid-item img{
	cursor: default;
}

.gp-view{
	max-height: 100vh;
	position: fixed;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	background-color: rgba(0,0,0,0.9);
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 20px;
	z-index: 100;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 0.4s ease;
}

.gp-view.active {
	visibility: visible;
	opacity: 1;
	pointer-events: all;
}

.gp-view .gpv-header{
	position: absolute;
	top: 10px; right: 0;
}

.gp-view .gpv-header .close{
	padding: 20px;
	font-size: 1.5em;
	color: rgba(255,255,255,0.5);
	cursor: pointer;
	transition: 0.2s ease;
}

.gp-view .gpv-header .close:hover{
	color: rgba(255,255,255,0.6);
}

.gp-view .gpv-media{
	width: 100%;
	padding: 20px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	transform: scale(0.95);
	opacity: 0;
	transition: transform 0.4s ease, opacity 0.4s ease;
}

.gp-view.active .gpv-media {
	transform: scale(1);
	opacity: 1;
}

.gp-view .gpv-media .gpvm{
	max-width: 100%;
	max-height: 80vh;
	object-fit: contain;
	transition: all 0.3s ease;
	box-shadow: 0 4px 8px rgba(0,0,0,0.8);
}

/** GALLERY PAGE - END **/

/** MEMORIES PAGE - START **/

.mm-card{
	width: 100%;
	border-radius: 40px;
	height: auto;
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 10px;
	border: 1px solid rgba(0,0,0,0.08);
	background-color: white;
	
	flex: 0 0 inherit;
	box-sizing: border-box;
}

.mm-card .mc-info{
	padding: 10px 10px 5px 10px;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.mm-card .mc-info .mci-header{
	padding: 10px 0 10px 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 8px;
	border-bottom: 1px solid rgba(0,0,0,0.1);
}

.mm-card .mc-info .mci-header .mcih-name{
	font-size: 1.0em;
	line-height: 1em;
	font-family: "Roboto Serif", serif!important;
	font-weight: 600;
}

.mm-card .mc-info .mci-header .mcih-date{
	font-size: 0.9em;
	line-height: 1em;
	color: rgba(0,0,0,0.5);
}

.mm-card .mc-body{
	height: auto;
	padding: 0 4px 4px 4px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.mm-card.mct-txt .mc-body{
	justify-content: center;
}

.mm-card .mc-body .mc-txt{
	margin: 0;
	padding: 0 8px 24px 8px;
	font-size: 0.9em;
	line-height: 2em;
	color: rgba(0,0,0,0.7);
}

.mm-card.mct-txt .mc-body .mc-txt{
	font-size: 1.2em;
	line-height: 2em;
	color: rgba(0,0,0,0.7);
}

.mm-card .mc-body .mc-media{
	height: auto;
	border-top-left-radius: 2px;
	border-top-right-radius: 2px;
	border-bottom-left-radius: 36px;
	border-bottom-right-radius: 36px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: end;
	overflow: hidden;
}

.mm-card .mc-media .mcm-img{
	width: 100%;
}

.mmq-card{
	width: 100%;
	padding: 52px 12px;
	border-radius: 40px;
	height: auto;
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 4px;
	border: 1px solid rgba(0,0,0,0.08);
}

.mmq-card-pink{
	background: linear-gradient(
		100deg,
		#f5dede 0%,     /* very light rose blush */
		#f9e6eb 35%,    /* pale pastel pink */
		#faece4 70%,    /* soft peach tint */
		#fff6f2 100%    /* near-white champagne */
	);
}

.mmq-card-blue{
	background: linear-gradient(
		90deg,
		#d7eafd 0%,   /* gentle pastel blue mist */
		#e7f3fe 50%,  /* light sky softness */
		#f7fbff 100%  /* airy white-blue glow */
	);
}

.mmq-card-jade{
	background: linear-gradient(
		90deg,
		#cfeee0 0%,   /* muted jade mist */
		#dff5ea 50%,  /* soft pastel mint */
		#f6fbf8 100%  /* airy white-green glow */
	);
}

.mmq-card-gold{
	background: linear-gradient(
		90deg,
		#f4e6c8 0%,   /* muted gold haze */
		#faefd6 50%,  /* soft pastel honey */
		#fef9ef 100%  /* airy cream-gold highlight */
	);
}

.mmq-card .mmqc-icon{
	width: 32px;
	height: auto;
	opacity: 0.1;
}

.mmq-card p{
	font-size: 1.2em;
	line-height: 2em;
	font-weight: 500;
	color: rgba(0,0,0,0.7);
	text-align: center;
	font-family: "Roboto Serif", serif!important;
}

/** MEMORIES PAGE - END **/

/* MOBILE */
@media (min-width: 600px) {
	
	.mgrid > .grid-sizer,
	.mgrid > .grid-item {
		width: 48%;
	}
	
}

/* TABLET */
@media (min-width: 900px) {
	
	.grid-sizer,
	.grid-item {
		width: 32%;
	}
	
	.mgrid > .grid-sizer,
	.mgrid > .grid-item {
		width: 32%;
	}
	
}

/* SMALL DESKTOP */
@media (min-width: 1200px) {
	
	.grid-sizer,
	.grid-item {
		width: 24%;
	}
	
	.mgrid > .grid-sizer,
	.mgrid > .grid-item {
		width: 24%;
	}
	
}

/* LARGE DESKTOP */
@media (min-width: 1600px) {
	
	.grid-sizer,
	.grid-item {
		width: 18%; /* ~5 across with gutter */
	}
	
	.mgrid > .grid-sizer,
	.mgrid > .grid-item {
		width: 18%; /* ~5 across with gutter */
	}
	
}

/* MOBILE */
@media (max-width: 600px) {
	
	/*HOME PAGE*/
	
	.hero1{
		height: 92.5vh;
		display: block!important;
	}
	
	.hero1 .hero1-row{
		flex-direction: column-reverse;
		align-items: center;
		justify-content: center;
		height: 100vh;
	}
	
	.hero1 .hero1-row .hero1-col{
		height: 100%;
		flex: 1;
		display: flex;
		flex-direction: column;
		justify-content: start;
		align-items: center;
		gap: 20px;
	}
	
	.hero1 .hero1-row .hero1-col1{
		padding-left: 0px;
	}
	
	.hero1 .hero1-row .hero1-col2{
		justify-content: end!important;
	}
	
	.hero1 .memorial-img-oval{
		max-width: 180px;
		margin-bottom: 40px;
	}
	
	.hero1 .hero1-info{
		padding: 0px;
	}

	.hero1 .hero1-info p{
		font-size: 16px;
	}

	.hero1 .hero1-info h1{
		margin-top: 0em;
		margin-bottom: 0em;
		font-size: 1.5em;
		line-height: 1.5em;
	}
	
	.hero1 .hero1-btn{
		margin-top: 24px;
	}
	
	.hero1 .lifeinfo-list{
		margin-top: 4px;
		gap: 16px;
		justify-content: center;
		font-size: 16px;
	}
	
	.hero1 .hero1-info{
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 8px;
	}
	
	.hero1 .h1-scrolldown{
		padding-bottom: 40px;
	}
	
	.lifeof1{
		padding: 40px 16px 52px 16px;
		position: relative;
	}
	
	.lifeof1 .lo1-container .lo1-header > h1{
		font-size: 1.5em;
	}
	
	.lifeof1 .lo1-container .lo1-slider{
		gap: 40px;
	}
	
	.lo1-slider .lo1s-timeline .lo1st{
		gap: 24px;
	}
	
	.lo1-slider .lo1s-timeline .lo1st > li:not(:last-child)::after {
		right: -20px;
		width: 16px;
	}
	
	.lo1s-cards .lo1s-card{
		width: 100%!important;
		margin: 0px;
	}

	.lo1s-cards .lo1s-card .sc-row{
		width: 100%;
		flex-direction: column;
		gap: 40px;
	}

	.lo1s-cards .lo1s-card .sc-row .sc-col{
		flex: 1!important;
	}

	.lo1s-cards .lo1s-card .sc-img{
		width: 100%;
	}
	
	.lo1s-cards .lo1s-card .sc-content p{
		margin: 0;
		padding: 0;
		font-size: 1em;
		line-height: 1.5em;
		text-align: justify;
	}
	
	.lo1-slider .lo1s-controls{
		justify-content: start;
	}

	.lo1-slider .lo1s-controls .cbtns{
		width: 100%;
		display: flex;
		flex-direction: row;
		justify-content: center;
		align-items: center;
		gap: 20px;
	}

	.lo1s-controls .control-btn{
		margin-right: 0px;
		padding: 8px 16px;
		font-size: 1em;
	}
	
	.lj1-container{
		padding: 40px 0px 60px 0px;
		gap: 32px;
	}
	
	.lj1-container .lj1-header > h1{
		font-size: 1.5em;
	}
	
	.lj1-marquee .marquee-track{
		gap: 16px;
	}
	
	.lj1-marquee .marquee-track .item{
		padding: 10px 20px;
		gap: 10px;
		font-size: 18px;
	}

	.lj1-marquee .marquee-track .item > i{
		font-size: 18px;
	}
	
	.lj1-container .lj1-footer{
		height: auto!important;
	}

	.lj1-container .lj1-footer .lj1f-content{
		width: 100%;
		padding: 0 16px;
	}
	
	.mg1-container{
		padding: 40px 16px 60px 16px;
		gap: 20px;
	}

	.mg-header > h1{
		font-size: 1.5em;
		line-height: 1.4em;
	}
	
	.mg-slider .mgs-slides{
		padding: 16px 4px;
	}
	
	.mg-slider .mgs-track .memory-card{
		width: 320px!important;
		max-width: 320px;
		flex: none; /* show 3 at a time */
	}
	
	.qs1-container{
		padding: 40px 20px;
	}

	.qs1-block > .quote{
		font-size: 1.5em;
		line-height: 1.5em;
	}
	
	.gallery1{
		padding: 40px 16px 60px 16px;
	}

	.gallery1 .g1-container .g1-header{
		margin-bottom: 40px;
	}

	.gallery1 .g1-container .g1-header > h1{
		font-size: 1.5em;
		line-height: 0.5em;
	}

	.gallery1 .g1-container .g1-header > .subh{
		font-size: 0.9em;
		line-height: 1em;
	}
	
	/*GALLERY PAGE*/
	
	.galleryp-header{
		padding: 40px 20px 32px 20px;
	}

	.galleryp-header .gph-container{
		width: 100%;
	}

	.gph-container .gphc-content{
		gap: 16px;
		justify-content: flex-start;
	}

	.gphc-content .img-oval{
		max-width: 40px;
	}

	.gphc-content .gphc-info{
		gap: 4px;
	}

	.gphc-content .gphc-info p{
		font-size: 0.8em;
	}

	.gphc-content .gphc-info h4{
		font-size: 1.1em;
		line-height: 1.1em;
	}
	
	.gp-crumbs{
		flex-direction: column;
		align-items: center;
	}
	
	.galleryp{
		padding: 40px 12px 40px 12px;
	}
	
	.ilm-footer1 .ilmf1-container .ilmf1-info{
		flex-direction: column;
		gap: 20px;
	}
	
	.ilm-footer1{
		padding: 40px 16px;
	}
	
	.ilmf1-info .ilmf1i-section{
		align-items: start;
	}
	
}

/* TABLET */
@media screen and (min-width: 600px) and (max-width: 1024px) {
	
	.hero1{
		height: 70vh;
		display: flex;
		flex-direction: column;
		align-items: start;
		justify-content: start;
	}
	
	.hero1 .hero1-row .hero1-col1{
		padding-left: 0px;
	}
	
	.hero1 .hero1-info{
		padding: 0px 32px;
	}
	
	.hero1 .hero1-info p{
		font-size: 14px;
	}

	.hero1 .hero1-info h1{
		margin-bottom: 0.8em;
		font-size: 1.5em;
		line-height: 1.2em;
	}

	.hero1 .memorial-img-oval{
		max-width: 240px;
	}

	.hero1 .lifeinfo-list{
		gap: 16px;
		font-size: 14px;
	}
	
	.lo1s-cards .lo1s-card{
		width: 100%!important;
		padding: 0 20px;
	}
	
	.mg-slider .mgs-track .memory-card{
		width: 360px!important;
		max-width: 360px;
		flex: none; /* show 3 at a time */
	}
	
	.qs1-block > .quote{
		font-size: 2em;
		line-height: 1.5em;
	}

}