@import url("fontawesome-all.min.css");
@import url('https://fonts.googleapis.com/css2?family=Great+Vibes&family=Montserrat:wght@300;400;600&display=swap');
@import url("https://fonts.googleapis.com/css?family=Source+Sans+Pro:400,400italic,700,900");

/*
	Escape Velocity by HTML5 UP
	html5up.net | @ajlkn
	Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
*/

html, body, div, span, applet, object,
iframe, h1, h2, h3, h4, h5, h6, p, blockquote,
pre, a, abbr, acronym, address, big, cite,
code, del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var, b,
u, i, center, dl, dt, dd, ol, ul, li, fieldset,
form, label, legend, table, caption, tbody,
tfoot, thead, tr, th, td, article, aside,
canvas, details, embed, figure, figcaption,
footer, header, hgroup, menu, nav, output, ruby,
section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display: block;}

body {
	line-height: 1;
}

ol, ul {
	list-style: none;
}

blockquote, q {
	quotes: none;
}

	blockquote:before, blockquote:after, q:before, q:after {
		content: '';
		content: none;
	}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

body {
	-webkit-text-size-adjust: none;
}

mark {
	background-color: transparent;
	color: inherit;
}

input::-moz-focus-inner {
	border: 0;
	padding: 0;
}

input, select, textarea {
	-moz-appearance: none;
	-webkit-appearance: none;
	-ms-appearance: none;
	appearance: none;
}

/* Basic */

	@-ms-viewport {
		width: device-width;
	}

	html {
		box-sizing: border-box;
	}

	*, *:before, *:after {
		box-sizing: inherit;
	}

	body.is-preload *, body.is-preload *:before, body.is-preload *:after {
		-moz-animation: none !important;
		-webkit-animation: none !important;
		-ms-animation: none !important;
		animation: none !important;
		-moz-transition: none !important;
		-webkit-transition: none !important;
		-ms-transition: none !important;
		transition: none !important;
	}

	body, input, textarea, select {
		font-family: 'Source Sans Pro', sans-serif;
		font-weight: 400;
		color: #919499;
		font-size: 14pt;
		line-height: 1.75em;
		letter-spacing: 0.025em;
	}

	h1, h2, h3, h4, h5, h6 {
		font-weight: 700;
		color: #484d55;
	}

		h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
			color: inherit;
			text-decoration: none;
		}

	a {
		-moz-transition: color .25s ease-in-out;
		-webkit-transition: color .25s ease-in-out;
		-ms-transition: color .25s ease-in-out;
		transition: color .25s ease-in-out;
		text-decoration: underline;
		color: #717479;
	}

		a:hover {
			text-decoration: none;
		}

	strong, b {
		font-weight: 700;
		color: #484d55;
	}

	blockquote {
		border-left: solid 0.5em #ddd;
		padding: 1em 0 1em 2em;
		font-style: italic;
	}

	em, i {
		font-style: italic;
	}

	hr {
		border: 0;
		border-top: solid 1px #ddd;
		margin: 2em 0 2em 0;
	}

	sub {
		position: relative;
		top: 0.5em;
		font-size: 0.8em;
	}

	sup {
		position: relative;
		top: -0.5em;
		font-size: 0.8em;
	}

	.nobr {
		white-space: nowrap;
	}

	br.clear {
		clear: both;
	}

	p, ul, ol, dl, table, blockquote, form {
		margin-bottom: 2em;
	}

/* Container */

	.container {
		margin: 0 auto;
		max-width: 100%;
		width: 68em;
	}

		@media screen and (max-width: 1680px) {

			.container {
				width: 70em;
			}

		}

		@media screen and (max-width: 1280px) {

			.container {
				width: calc(100% - 100px);
			}

		}

		@media screen and (max-width: 980px) {

			.container {
				width: calc(100% - 100px);
			}

		}

		@media screen and (max-width: 736px) {

			.container {
				width: calc(100% - 40px);
			}

		}

/* Row */

	.row {
		display: flex;
		flex-wrap: wrap;
		box-sizing: border-box;
		align-items: stretch;
	}

		.row > * {
			box-sizing: border-box;
		}

		.row.gtr-uniform > * > :last-child {
			margin-bottom: 0;
		}

		.row.aln-left {
			justify-content: flex-start;
		}

		.row.aln-center {
			justify-content: center;
		}

		.row.aln-right {
			justify-content: flex-end;
		}

		.row.aln-top {
			align-items: flex-start;
		}

		.row.aln-middle {
			align-items: center;
		}

		.row.aln-bottom {
			align-items: flex-end;
		}

		.row > .imp {
			order: -1;
		}

		.row > .col-1 {
			width: 8.33333%;
		}

		.row > .off-1 {
			margin-left: 8.33333%;
		}

		.row > .col-2 {
			width: 16.66667%;
		}

		.row > .off-2 {
			margin-left: 16.66667%;
		}

		.row > .col-3 {
			width: 25%;
		}

		.row > .off-3 {
			margin-left: 25%;
		}

		.row > .col-4 {
			width: 33.33333%;
		}

		.row > .off-4 {
			margin-left: 33.33333%;
		}

		.row > .col-5 {
			width: 41.66667%;
		}

		.row > .off-5 {
			margin-left: 41.66667%;
		}

		.row > .col-6 {
			width: 50%;
		}

		.row > .off-6 {
			margin-left: 50%;
		}

		.row > .col-7 {
			width: 58.33333%;
		}

		.row > .off-7 {
			margin-left: 58.33333%;
		}

		.row > .col-8 {
			width: 66.66667%;
		}

		.row > .off-8 {
			margin-left: 66.66667%;
		}

		.row > .col-9 {
			width: 75%;
		}

		.row > .off-9 {
			margin-left: 75%;
		}

		.row > .col-10 {
			width: 83.33333%;
		}

		.row > .off-10 {
			margin-left: 83.33333%;
		}

		.row > .col-11 {
			width: 91.66667%;
		}

		.row > .off-11 {
			margin-left: 91.66667%;
		}

		.row > .col-12 {
			width: 100%;
		}

		.row > .off-12 {
			margin-left: 100%;
		}

		.row.gtr-0 {
			margin-top: 0px;
			margin-left: 0px;
		}

			.row.gtr-0 > * {
				padding: 0px 0 0 0px;
			}

			.row.gtr-0.gtr-uniform {
				margin-top: 0px;
			}

				.row.gtr-0.gtr-uniform > * {
					padding-top: 0px;
				}

		.row.gtr-25 {
			margin-top: -12.5px;
			margin-left: -12.5px;
		}

			.row.gtr-25 > * {
				padding: 12.5px 0 0 12.5px;
			}

			.row.gtr-25.gtr-uniform {
				margin-top: -12.5px;
			}

				.row.gtr-25.gtr-uniform > * {
					padding-top: 12.5px;
				}

		.row.gtr-50 {
			margin-top: -25px;
			margin-left: -25px;
		}

			.row.gtr-50 > * {
				padding: 25px 0 0 25px;
			}

			.row.gtr-50.gtr-uniform {
				margin-top: -25px;
			}

				.row.gtr-50.gtr-uniform > * {
					padding-top: 25px;
				}

		.row {
			margin-top: -50px;
			margin-left: -50px;
		}

			.row > * {
				padding: 50px 0 0 50px;
			}

			.row.gtr-uniform {
				margin-top: -50px;
			}

				.row.gtr-uniform > * {
					padding-top: 50px;
				}

		.row.gtr-150 {
			margin-top: -75px;
			margin-left: -75px;
		}

			.row.gtr-150 > * {
				padding: 75px 0 0 75px;
			}

			.row.gtr-150.gtr-uniform {
				margin-top: -75px;
			}

				.row.gtr-150.gtr-uniform > * {
					padding-top: 75px;
				}

		.row.gtr-200 {
			margin-top: -100px;
			margin-left: -100px;
		}

			.row.gtr-200 > * {
				padding: 100px 0 0 100px;
			}

			.row.gtr-200.gtr-uniform {
				margin-top: -100px;
			}

				.row.gtr-200.gtr-uniform > * {
					padding-top: 100px;
				}

		@media screen and (max-width: 1680px) {

			.row {
				display: flex;
				flex-wrap: wrap;
				box-sizing: border-box;
				align-items: stretch;
			}

				.row > * {
					box-sizing: border-box;
				}

				.row.gtr-uniform > * > :last-child {
					margin-bottom: 0;
				}

				.row.aln-left {
					justify-content: flex-start;
				}

				.row.aln-center {
					justify-content: center;
				}

				.row.aln-right {
					justify-content: flex-end;
				}

				.row.aln-top {
					align-items: flex-start;
				}

				.row.aln-middle {
					align-items: center;
				}

				.row.aln-bottom {
					align-items: flex-end;
				}

				.row > .imp-xlarge {
					order: -1;
				}

				.row > .col-1-xlarge {
					width: 8.33333%;
				}

				.row > .off-1-xlarge {
					margin-left: 8.33333%;
				}

				.row > .col-2-xlarge {
					width: 16.66667%;
				}

				.row > .off-2-xlarge {
					margin-left: 16.66667%;
				}

				.row > .col-3-xlarge {
					width: 25%;
				}

				.row > .off-3-xlarge {
					margin-left: 25%;
				}

				.row > .col-4-xlarge {
					width: 33.33333%;
				}

				.row > .off-4-xlarge {
					margin-left: 33.33333%;
				}

				.row > .col-5-xlarge {
					width: 41.66667%;
				}

				.row > .off-5-xlarge {
					margin-left: 41.66667%;
				}

				.row > .col-6-xlarge {
					width: 50%;
				}

				.row > .off-6-xlarge {
					margin-left: 50%;
				}

				.row > .col-7-xlarge {
					width: 58.33333%;
				}

				.row > .off-7-xlarge {
					margin-left: 58.33333%;
				}

				.row > .col-8-xlarge {
					width: 66.66667%;
				}

				.row > .off-8-xlarge {
					margin-left: 66.66667%;
				}

				.row > .col-9-xlarge {
					width: 75%;
				}

				.row > .off-9-xlarge {
					margin-left: 75%;
				}

				.row > .col-10-xlarge {
					width: 83.33333%;
				}

				.row > .off-10-xlarge {
					margin-left: 83.33333%;
				}

				.row > .col-11-xlarge {
					width: 91.66667%;
				}

				.row > .off-11-xlarge {
					margin-left: 91.66667%;
				}

				.row > .col-12-xlarge {
					width: 100%;
				}

				.row > .off-12-xlarge {
					margin-left: 100%;
				}

				.row.gtr-0 {
					margin-top: 0px;
					margin-left: 0px;
				}

					.row.gtr-0 > * {
						padding: 0px 0 0 0px;
					}

					.row.gtr-0.gtr-uniform {
						margin-top: 0px;
					}

						.row.gtr-0.gtr-uniform > * {
							padding-top: 0px;
						}

				.row.gtr-25 {
					margin-top: -12.5px;
					margin-left: -12.5px;
				}

					.row.gtr-25 > * {
						padding: 12.5px 0 0 12.5px;
					}

					.row.gtr-25.gtr-uniform {
						margin-top: -12.5px;
					}

						.row.gtr-25.gtr-uniform > * {
							padding-top: 12.5px;
						}

				.row.gtr-50 {
					margin-top: -25px;
					margin-left: -25px;
				}

					.row.gtr-50 > * {
						padding: 25px 0 0 25px;
					}

					.row.gtr-50.gtr-uniform {
						margin-top: -25px;
					}

						.row.gtr-50.gtr-uniform > * {
							padding-top: 25px;
						}

				.row {
					margin-top: -50px;
					margin-left: -50px;
				}

					.row > * {
						padding: 50px 0 0 50px;
					}

					.row.gtr-uniform {
						margin-top: -50px;
					}

						.row.gtr-uniform > * {
							padding-top: 50px;
						}

				.row.gtr-150 {
					margin-top: -75px;
					margin-left: -75px;
				}

					.row.gtr-150 > * {
						padding: 75px 0 0 75px;
					}

					.row.gtr-150.gtr-uniform {
						margin-top: -75px;
					}

						.row.gtr-150.gtr-uniform > * {
							padding-top: 75px;
						}

				.row.gtr-200 {
					margin-top: -100px;
					margin-left: -100px;
				}

					.row.gtr-200 > * {
						padding: 100px 0 0 100px;
					}

					.row.gtr-200.gtr-uniform {
						margin-top: -100px;
					}

						.row.gtr-200.gtr-uniform > * {
							padding-top: 100px;
						}

		}

		@media screen and (max-width: 1280px) {

			.row {
				display: flex;
				flex-wrap: wrap;
				box-sizing: border-box;
				align-items: stretch;
			}

				.row > * {
					box-sizing: border-box;
				}

				.row.gtr-uniform > * > :last-child {
					margin-bottom: 0;
				}

				.row.aln-left {
					justify-content: flex-start;
				}

				.row.aln-center {
					justify-content: center;
				}

				.row.aln-right {
					justify-content: flex-end;
				}

				.row.aln-top {
					align-items: flex-start;
				}

				.row.aln-middle {
					align-items: center;
				}

				.row.aln-bottom {
					align-items: flex-end;
				}

				.row > .imp-large {
					order: -1;
				}

				.row > .col-1-large {
					width: 8.33333%;
				}

				.row > .off-1-large {
					margin-left: 8.33333%;
				}

				.row > .col-2-large {
					width: 16.66667%;
				}

				.row > .off-2-large {
					margin-left: 16.66667%;
				}

				.row > .col-3-large {
					width: 25%;
				}

				.row > .off-3-large {
					margin-left: 25%;
				}

				.row > .col-4-large {
					width: 33.33333%;
				}

				.row > .off-4-large {
					margin-left: 33.33333%;
				}

				.row > .col-5-large {
					width: 41.66667%;
				}

				.row > .off-5-large {
					margin-left: 41.66667%;
				}

				.row > .col-6-large {
					width: 50%;
				}

				.row > .off-6-large {
					margin-left: 50%;
				}

				.row > .col-7-large {
					width: 58.33333%;
				}

				.row > .off-7-large {
					margin-left: 58.33333%;
				}

				.row > .col-8-large {
					width: 66.66667%;
				}

				.row > .off-8-large {
					margin-left: 66.66667%;
				}

				.row > .col-9-large {
					width: 75%;
				}

				.row > .off-9-large {
					margin-left: 75%;
				}

				.row > .col-10-large {
					width: 83.33333%;
				}

				.row > .off-10-large {
					margin-left: 83.33333%;
				}

				.row > .col-11-large {
					width: 91.66667%;
				}

				.row > .off-11-large {
					margin-left: 91.66667%;
				}

				.row > .col-12-large {
					width: 100%;
				}

				.row > .off-12-large {
					margin-left: 100%;
				}

				.row.gtr-0 {
					margin-top: 0px;
					margin-left: 0px;
				}

					.row.gtr-0 > * {
						padding: 0px 0 0 0px;
					}

					.row.gtr-0.gtr-uniform {
						margin-top: 0px;
					}

						.row.gtr-0.gtr-uniform > * {
							padding-top: 0px;
						}

				.row.gtr-25 {
					margin-top: -8.75px;
					margin-left: -8.75px;
				}

					.row.gtr-25 > * {
						padding: 8.75px 0 0 8.75px;
					}

					.row.gtr-25.gtr-uniform {
						margin-top: -8.75px;
					}

						.row.gtr-25.gtr-uniform > * {
							padding-top: 8.75px;
						}

				.row.gtr-50 {
					margin-top: -17.5px;
					margin-left: -17.5px;
				}

					.row.gtr-50 > * {
						padding: 17.5px 0 0 17.5px;
					}

					.row.gtr-50.gtr-uniform {
						margin-top: -17.5px;
					}

						.row.gtr-50.gtr-uniform > * {
							padding-top: 17.5px;
						}

				.row {
					margin-top: -35px;
					margin-left: -35px;
				}

					.row > * {
						padding: 35px 0 0 35px;
					}

					.row.gtr-uniform {
						margin-top: -35px;
					}

						.row.gtr-uniform > * {
							padding-top: 35px;
						}

				.row.gtr-150 {
					margin-top: -52.5px;
					margin-left: -52.5px;
				}

					.row.gtr-150 > * {
						padding: 52.5px 0 0 52.5px;
					}

					.row.gtr-150.gtr-uniform {
						margin-top: -52.5px;
					}

						.row.gtr-150.gtr-uniform > * {
							padding-top: 52.5px;
						}

				.row.gtr-200 {
					margin-top: -70px;
					margin-left: -70px;
				}

					.row.gtr-200 > * {
						padding: 70px 0 0 70px;
					}

					.row.gtr-200.gtr-uniform {
						margin-top: -70px;
					}

						.row.gtr-200.gtr-uniform > * {
							padding-top: 70px;
						}

		}

		@media screen and (max-width: 980px) {

			.row {
				display: flex;
				flex-wrap: wrap;
				box-sizing: border-box;
				align-items: stretch;
			}

				.row > * {
					box-sizing: border-box;
				}

				.row.gtr-uniform > * > :last-child {
					margin-bottom: 0;
				}

				.row.aln-left {
					justify-content: flex-start;
				}

				.row.aln-center {
					justify-content: center;
				}

				.row.aln-right {
					justify-content: flex-end;
				}

				.row.aln-top {
					align-items: flex-start;
				}

				.row.aln-middle {
					align-items: center;
				}

				.row.aln-bottom {
					align-items: flex-end;
				}

				.row > .imp-medium {
					order: -1;
				}

				.row > .col-1-medium {
					width: 8.33333%;
				}

				.row > .off-1-medium {
					margin-left: 8.33333%;
				}

				.row > .col-2-medium {
					width: 16.66667%;
				}

				.row > .off-2-medium {
					margin-left: 16.66667%;
				}

				.row > .col-3-medium {
					width: 25%;
				}

				.row > .off-3-medium {
					margin-left: 25%;
				}

				.row > .col-4-medium {
					width: 33.33333%;
				}

				.row > .off-4-medium {
					margin-left: 33.33333%;
				}

				.row > .col-5-medium {
					width: 41.66667%;
				}

				.row > .off-5-medium {
					margin-left: 41.66667%;
				}

				.row > .col-6-medium {
					width: 50%;
				}

				.row > .off-6-medium {
					margin-left: 50%;
				}

				.row > .col-7-medium {
					width: 58.33333%;
				}

				.row > .off-7-medium {
					margin-left: 58.33333%;
				}

				.row > .col-8-medium {
					width: 66.66667%;
				}

				.row > .off-8-medium {
					margin-left: 66.66667%;
				}

				.row > .col-9-medium {
					width: 75%;
				}

				.row > .off-9-medium {
					margin-left: 75%;
				}

				.row > .col-10-medium {
					width: 83.33333%;
				}

				.row > .off-10-medium {
					margin-left: 83.33333%;
				}

				.row > .col-11-medium {
					width: 91.66667%;
				}

				.row > .off-11-medium {
					margin-left: 91.66667%;
				}

				.row > .col-12-medium {
					width: 100%;
				}

				.row > .off-12-medium {
					margin-left: 100%;
				}

				.row.gtr-0 {
					margin-top: 0px;
					margin-left: 0px;
				}

					.row.gtr-0 > * {
						padding: 0px 0 0 0px;
					}

					.row.gtr-0.gtr-uniform {
						margin-top: 0px;
					}

						.row.gtr-0.gtr-uniform > * {
							padding-top: 0px;
						}

				.row.gtr-25 {
					margin-top: -12.5px;
					margin-left: -12.5px;
				}

					.row.gtr-25 > * {
						padding: 12.5px 0 0 12.5px;
					}

					.row.gtr-25.gtr-uniform {
						margin-top: -12.5px;
					}

						.row.gtr-25.gtr-uniform > * {
							padding-top: 12.5px;
						}

				.row.gtr-50 {
					margin-top: -25px;
					margin-left: -25px;
				}

					.row.gtr-50 > * {
						padding: 25px 0 0 25px;
					}

					.row.gtr-50.gtr-uniform {
						margin-top: -25px;
					}

						.row.gtr-50.gtr-uniform > * {
							padding-top: 25px;
						}

				.row {
					margin-top: -50px;
					margin-left: -50px;
				}

					.row > * {
						padding: 50px 0 0 50px;
					}

					.row.gtr-uniform {
						margin-top: -50px;
					}

						.row.gtr-uniform > * {
							padding-top: 50px;
						}

				.row.gtr-150 {
					margin-top: -75px;
					margin-left: -75px;
				}

					.row.gtr-150 > * {
						padding: 75px 0 0 75px;
					}

					.row.gtr-150.gtr-uniform {
						margin-top: -75px;
					}

						.row.gtr-150.gtr-uniform > * {
							padding-top: 75px;
						}

				.row.gtr-200 {
					margin-top: -100px;
					margin-left: -100px;
				}

					.row.gtr-200 > * {
						padding: 100px 0 0 100px;
					}

					.row.gtr-200.gtr-uniform {
						margin-top: -100px;
					}

						.row.gtr-200.gtr-uniform > * {
							padding-top: 100px;
						}

		}

		@media screen and (max-width: 736px) {

			.row {
				display: flex;
				flex-wrap: wrap;
				box-sizing: border-box;
				align-items: stretch;
			}

				.row > * {
					box-sizing: border-box;
				}

				.row.gtr-uniform > * > :last-child {
					margin-bottom: 0;
				}

				.row.aln-left {
					justify-content: flex-start;
				}

				.row.aln-center {
					justify-content: center;
				}

				.row.aln-right {
					justify-content: flex-end;
				}

				.row.aln-top {
					align-items: flex-start;
				}

				.row.aln-middle {
					align-items: center;
				}

				.row.aln-bottom {
					align-items: flex-end;
				}

				.row > .imp-small {
					order: -1;
				}

				.row > .col-1-small {
					width: 8.33333%;
				}

				.row > .off-1-small {
					margin-left: 8.33333%;
				}

				.row > .col-2-small {
					width: 16.66667%;
				}

				.row > .off-2-small {
					margin-left: 16.66667%;
				}

				.row > .col-3-small {
					width: 25%;
				}

				.row > .off-3-small {
					margin-left: 25%;
				}

				.row > .col-4-small {
					width: 33.33333%;
				}

				.row > .off-4-small {
					margin-left: 33.33333%;
				}

				.row > .col-5-small {
					width: 41.66667%;
				}

				.row > .off-5-small {
					margin-left: 41.66667%;
				}

				.row > .col-6-small {
					width: 50%;
				}

				.row > .off-6-small {
					margin-left: 50%;
				}

				.row > .col-7-small {
					width: 58.33333%;
				}

				.row > .off-7-small {
					margin-left: 58.33333%;
				}

				.row > .col-8-small {
					width: 66.66667%;
				}

				.row > .off-8-small {
					margin-left: 66.66667%;
				}

				.row > .col-9-small {
					width: 75%;
				}

				.row > .off-9-small {
					margin-left: 75%;
				}

				.row > .col-10-small {
					width: 83.33333%;
				}

				.row > .off-10-small {
					margin-left: 83.33333%;
				}

				.row > .col-11-small {
					width: 91.66667%;
				}

				.row > .off-11-small {
					margin-left: 91.66667%;
				}

				.row > .col-12-small {
					width: 100%;
				}

				.row > .off-12-small {
					margin-left: 100%;
				}

				.row.gtr-0 {
					margin-top: 0px;
					margin-left: 0px;
				}

					.row.gtr-0 > * {
						padding: 0px 0 0 0px;
					}

					.row.gtr-0.gtr-uniform {
						margin-top: 0px;
					}

						.row.gtr-0.gtr-uniform > * {
							padding-top: 0px;
						}

				.row.gtr-25 {
					margin-top: -7.5px;
					margin-left: -7.5px;
				}

					.row.gtr-25 > * {
						padding: 7.5px 0 0 7.5px;
					}

					.row.gtr-25.gtr-uniform {
						margin-top: -7.5px;
					}

						.row.gtr-25.gtr-uniform > * {
							padding-top: 7.5px;
						}

				.row.gtr-50 {
					margin-top: -15px;
					margin-left: -15px;
				}

					.row.gtr-50 > * {
						padding: 15px 0 0 15px;
					}

					.row.gtr-50.gtr-uniform {
						margin-top: -15px;
					}

						.row.gtr-50.gtr-uniform > * {
							padding-top: 15px;
						}

				.row {
					margin-top: -30px;
					margin-left: -30px;
				}

					.row > * {
						padding: 30px 0 0 30px;
					}

					.row.gtr-uniform {
						margin-top: -30px;
					}

						.row.gtr-uniform > * {
							padding-top: 30px;
						}

				.row.gtr-150 {
					margin-top: -45px;
					margin-left: -45px;
				}

					.row.gtr-150 > * {
						padding: 45px 0 0 45px;
					}

					.row.gtr-150.gtr-uniform {
						margin-top: -45px;
					}

						.row.gtr-150.gtr-uniform > * {
							padding-top: 45px;
						}

				.row.gtr-200 {
					margin-top: -60px;
					margin-left: -60px;
				}

					.row.gtr-200 > * {
						padding: 60px 0 0 60px;
					}

					.row.gtr-200.gtr-uniform {
						margin-top: -60px;
					}

						.row.gtr-200.gtr-uniform > * {
							padding-top: 60px;
						}

		}

/* Section/Article */

	section,
	article {
		margin: 0 0 4em 0;
	}

	section > :last-child,
	article > :last-child,
	section:last-child,
	article:last-child {
		margin-bottom: 0;
	}

	header.style1 {
		text-align: center;
		padding: 3em 0 3em 0;
	}

		header.style1 h2 {
			font-weight: 700;
			font-size: 2em;
			letter-spacing: 0.075em;
			line-height: 1.5em;
			color: #fff;
		}

		header.style1 p {
			color: #b1b4b9;
			display: block;
			margin: 1.15em 0 0 0;
			font-size: 1.3em;
			letter-spacing: 0.075em;
			line-height: 1.5em;
		}

/* Table */

	table {
		width: 100%;
	}

		table.default {
			width: 100%;
		}

			table.default tbody tr:nth-child(2n+2) {
				background: #f4f4f4;
			}

			table.default td {
				padding: 0.5em 1em 0.5em 1em;
			}

			table.default th {
				text-align: left;
				font-weight: 400;
				padding: 0.5em 1em 0.5em 1em;
			}

			table.default thead {
				background: #484d55;
				color: #fff;
			}

			table.default tfoot {
				background: #eee;
			}

/* Form */

	form label {
		display: block;
		font-weight: 700;
		color: #484d55;
		margin: 0.25em 0 0.5em 0;
	}

	form input[type="text"],
	form input[type="email"],
	form input[type="password"],
	form select,
	form textarea {
		-moz-transition: all .25s ease-in-out;
		-webkit-transition: all .25s ease-in-out;
		-ms-transition: all .25s ease-in-out;
		transition: all .25s ease-in-out;
		-webkit-appearance: none;
		display: block;
		border: 0;
		background: #eee;
		box-shadow: inset 0px 0px 1px 0px #a0a1a7;
		border-radius: 0.35em;
		width: 100%;
		padding: 0.75em 1em 0.75em 1em;
	}

		form input[type="text"]:focus,
		form input[type="email"]:focus,
		form input[type="password"]:focus,
		form select:focus,
		form textarea:focus {
			background: #f8f8f8;
		}

	form input[type="text"],
	form input[type="email"]
	input[type="password"] {
		line-height: 1em;
	}

	form select {
		line-height: 1em;
	}

	form textarea {
		min-height: 8em;
	}

	form ul.actions {
		margin-top: 0;
	}

	form ::-webkit-input-placeholder {
		color: #555 !important;
		font-style: italic;
		line-height: 1.35em;
	}

	form :-moz-placeholder {
		color: #555 !important;
		font-style: italic;
	}

	form ::-moz-placeholder {
		color: #555 !important;
		font-style: italic;
	}

	form :-ms-input-placeholder {
		color: #555 !important;
		font-style: italic;
	}

	form ::-moz-focus-inner {
		border: 0;
	}

/* Image */

	.image {
		display: inline-block;
	}

		.image img {
			display: block;
			width: 100%;
		}

		.image.fit {
			display: block;
			width: 100%;
		}

		.image.left {
			float: left;
			margin: 0 2em 2em 0;
		}

		.image.centered {
			display: block;
			margin: 0 0 2em 0;
		}

			.image.centered img {
				margin: 0 auto;
				width: auto;
			}

		.image.featured {
			display: block;
			width: 100%;
			margin: 0 0 2em 0;
		}

/* Button */
		.reset{
			margin-top: 10px;
		}
	input[type="button"],
	input[type="submit"],
	input[type="reset"],
	button,
	.button {
		-moz-transition: all .25s ease-in-out;
		-webkit-transition: all .25s ease-in-out;
		-ms-transition: all .25s ease-in-out;
		transition: all .25s ease-in-out;
		display: inline-block;
		background: #444;
		text-align: center;
		text-transform: uppercase;
		font-weight: 700;
		letter-spacing: 0.25em;
		text-decoration: none;
		border-radius: 0.35em;
		border: 0;
		outline: 0;
		cursor: pointer;
		padding: 0 2.25em 0 2.25em;
		font-size: 0.9em;
		min-width: 12em;
		height: 4em;
		line-height: 4em;
	}

		input[type="button"]:hover,
		input[type="submit"]:hover,
		input[type="reset"]:hover,
		button:hover,
		.button:hover {
			background-color: #f98780;
		}

		input[type="button"].large,
		input[type="submit"].large,
		input[type="reset"].large,
		button.large,
		.button.large {
			font-size: 1em;
			min-width: 14em;
		}

		input[type="button"].style1,
		input[type="submit"].style1,
		input[type="reset"].style1,
		button.style1,
		.button.style1 {
			background: #637c65 url("images/overlay.png");
			color: #fff;
		}

			input[type="button"].style1:hover,
			input[type="submit"].style1:hover,
			input[type="reset"].style1:hover,
			button.style1:hover,
			.button.style1:hover {
				background-color: #f98780;
			}

			input[type="button"].style1:active,
			input[type="submit"].style1:active,
			input[type="reset"].style1:active,
			button.style1:active,
			.button.style1:active {
				background-color: #d96760;
			}

		input[type="button"].style2,
		input[type="submit"].style2,
		input[type="reset"].style2,
		button.style2,
		.button.style2 {
			background: none;
			color: #606167;
			box-shadow: inset 0px 0px 2px 0px #a0a1a7;
		}

			input[type="button"].style2:hover,
			input[type="submit"].style2:hover,
			input[type="reset"].style2:hover,
			button.style2:hover,
			.button.style2:hover {
				box-shadow: inset 0px 0px 2px 0px #606167;
			}

			input[type="button"].style2:active,
			input[type="submit"].style2:active,
			input[type="reset"].style2:active,
			button.style2:active,
			.button.style2:active {
				box-shadow: inset 0px 0px 2px 0px #202127;
			}

		input[type="button"].style3,
		input[type="submit"].style3,
		input[type="reset"].style3,
		button.style3,
		.button.style3 {
			background: #637c65 url("images/overlay.png");
			color: #fff;
		}

			input[type="button"].style3:hover,
			input[type="submit"].style3:hover,
			input[type="reset"].style3:hover,
			button.style3:hover,
			.button.style3:hover {
				background-color: #3f434b;
			}

			input[type="button"].style3:active,
			input[type="submit"].style3:active,
			input[type="reset"].style3:active,
			button.style3:active,
			.button.style3:active {
				background-color: #1f232b;
			}

/* List */

	ul {
		list-style: disc;
		padding-left: 1em;
	}

		ul li {
			padding-left: 0.5em;
		}

		ul.style2 {
			list-style: none;
			padding-left: 0;
		}

			ul.style2 li {
				border-top: solid 1px #eee;
				padding: 1.5em 0 0 0;
				margin: 1.5em 0 0 0;
			}

				ul.style2 li:first-child {
					border-top: 0;
					padding-top: 0;
					margin-top: 0;
				}

		ul.style3 {
			list-style: none;
			padding-left: 0;
		}

			ul.style3 li {
				border-top: solid 1px #eee;
				padding: 0.5em 0 0 0;
				margin: 0.5em 0 0 0;
			}

				ul.style3 li:first-child {
					border-top: 0;
					padding-top: 0;
					margin-top: 0;
				}

	ol {
		list-style: decimal;
		padding-left: 1.25em;
	}

		ol li {
			padding-left: 0.25em;
		}

/* Actions */

	ul.actions {
		list-style: none;
		padding-left: 0;
		margin: 3em 0 0 0;
	}

		ul.actions li {
			display: inline-block;
			margin: 0 0.75em 0 0.75em;
			padding-left: 0;
		}

			ul.actions li:first-child {
				margin-left: 0;
			}

			ul.actions li:last-child {
				margin-right: 0;
			}

		ul.actions.special {
			text-align: center;
		}

/* Feature List */

	.feature-list {
		max-width: 58em;
		margin-left: auto;
		margin-right: auto;
		position: relative;
		top: 0.75em;
	}

		.feature-list section {
			border-top: solid 1px #eee;
			padding-top: 3em;
			padding-left: 5em;
			position: relative;
		}

		@media screen and (min-width: 981px) {

			.feature-list > .row > :nth-child(-n + 2) > section {
				border-top: 0;
				padding-top: 0;
			}

		}

		.feature-list h3 {
			color: #fff !important;
			margin: -0.35em 0 0.75em 0;
			font-size: 1.15em;
			letter-spacing: 0.05em;
		}

			.feature-list h3:before {
				display: block;
				color: #fff;
				background: #2f333b url("images/overlay.png");
				border-radius: 2.5em;
				text-align: center;
				width: 2.5em;
				height: 2.5em;
				line-height: 2.5em;
				margin-right: 0.75em;
				position: absolute;
				left: 0;
				margin-top: -0.5em;
			}

		.feature-list.small section {
			padding-left: 3.5em;
		}

		.feature-list.small h3:before {
			font-size: 0.8em;
		}

/* Icons */

	.icon {
		text-decoration: none;
		text-decoration: none;
	}

		.icon:before {
			-moz-osx-font-smoothing: grayscale;
			-webkit-font-smoothing: antialiased;
			display: inline-block;
			font-style: normal;
			font-variant: normal;
			text-rendering: auto;
			line-height: 1;
			text-transform: none !important;
			font-family: 'Font Awesome 5 Free';
			font-weight: 400;
		}

		.icon:before {
			line-height: inherit;
			font-size: 1.25em;
		}

		.icon > .label {
			display: none;
		}

		.icon.solid:before {
			font-weight: 900;
			margin-right: 0.45em;
		}

		.icon.brands:before {
			font-family: 'Font Awesome 5 Brands';
		}

/* Box */

	.box header {
		margin: 0 0 1.5em 0;
	}

		.box header.style1 {
			position: relative;
			margin: -0.5em 0 0 0;
			padding-top: 0;
		}

	.box h2 {
		margin: 0 0 0.75em 0;
		font-size: 1.15em;
		letter-spacing: 0.05em;
	}

	.box h3 {
		margin: 0 0 0.5em 0;
		font-size: 1em;
		font-weight: 600;
		letter-spacing: 0.05em;
	}

	.box.post-excerpt .image.left {
		position: relative;
		top: 0.5em;
		width: 5em;
	}

	.box.post-excerpt h3, .box.post-excerpt p {
		margin-left: 7em;
	}

/* Wrapper */

	.wrapper {
		position: relative;
		padding: 6em 0 9em 0;
	}

		.wrapper .title {
			position: absolute;
			top: 0;
			left: 50%;
			text-align: center;
			text-transform: uppercase;
			display: block;
			font-weight: 700;
			letter-spacing: 0.25em;
			font-size: 0.9em;
			width: 25em;
			height: 3.25em;
			top: -3.25em;
			line-height: 3.25em;
			margin-bottom: -3.25em;
			margin-left: -12.5em;
			padding-top: 0.5em;
		}

			.wrapper .title:before {
				content: '';
				position: absolute;
				bottom: -38px;
				left: -35px;
				width: 35px;
				height: 38px;
				background: url("images/shadow.png");
			}

			.wrapper .title:after {
				-moz-transform: scaleX(-1);
				-webkit-transform: scaleX(-1);
				-ms-transform: scaleX(-1);
				transform: scaleX(-1);
				content: '';
				position: absolute;
				bottom: -38px;
				right: -35px;
				width: 35px;
				height: 38px;
				background: url("images/shadow.png");
			}

		.wrapper.style1 {
			background: #f0ead6 url("images/overlay.png");
			color: #787777;
		}

			.wrapper.style1 .title {
				background: #f0ead6 url("images/overlay.png");
				color: #787777;
			}

			.wrapper.style1 h1, .wrapper.style1 h2, .wrapper.style1 h3, .wrapper.style1 h4, .wrapper.style1 h5, .wrapper.style1 h6, .wrapper.style1 strong, .wrapper.style1 b, .wrapper.style1 a {
				color: rgb(255, 255, 255);
				background-color: #637c65;
				padding: 5px;
				border-radius: 5px;
			}

		.wrapper.style2 {
			background: #637c65 url("images/overlay.png");
			color: #fff;
		}

			.wrapper.style2 .title {
				background: #637c65 url("images/overlay.png");
				color: #fff;
			}

		.wrapper.style3 {
			background: #f0ead6 url("images/overlay.png");
		}

			.wrapper.style3 .title {
				background: #f0ead6 url("images/overlay.png");
				color: #484d55;
			}

			/* .wrapper.style3 .image {
				 border: solid 10px #fff; 
			} */

/* Page Wrapper */

	#page-wrapper > section {
		margin-bottom: 0;
	}

/* Header */

	#header {
		display: -moz-flex;
		display: -webkit-flex;
		display: -ms-flex;
		display: flex;
		-moz-align-items: center;
		-webkit-align-items: center;
		-ms-align-items: center;
		align-items: center;
		-moz-justify-content: center;
		-webkit-justify-content: center;
		-ms-justify-content: center;
		justify-content: center;
		position: relative;
		height: 24em;
		background: url("../../images/salene.jpg") center center;
		background-size: cover;
		padding: 0;
	}

		#header:before {
			content: '';
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			background: rgba(0, 0, 0, 0.4); /* Added darker overlay for better text visibility */
		}

		.homepage #header {
			height: 35em;
		}

/* Logo */

	#logo {
		width: 100%;
		text-align: center;
		position: relative;
		top: 1.5em;
	}

		#logo h1 {
			font-weight: 900;
			text-transform: titlecase;
			color: #fff;
			font-size: 3em;
			letter-spacing: 0.25em;
		}

		#logo p {
			color: #eee;
			color: rgba(255, 255, 255, 0.5);
			text-transform: uppercase;
			margin: 1.25em 0 0 0;
			display: block;
			letter-spacing: 0.2em;
			font-size: 0.9em;
		}

/* Nav */

	#nav {
		position: absolute;
		display: block;
		top: 2.5em;
		left: 0;
		width: 100%;
		text-align: center;
	}

		#nav > ul {
			display: inline-block;
			border-radius: 0.35em;
			box-shadow: inset 0px 0px 1px 1px rgba(255, 255, 255, 0.25);
			padding: 0 1.5em 0 1.5em;
		}

			#nav > ul > li {
				display: inline-block;
				text-align: center;
				padding: 0 1.5em 0 1.5em;
			}

				#nav > ul > li > ul {
					display: none;
				}

				#nav > ul > li > a, #nav > ul > li > span {
					display: block;
					color: #eee;
					color: rgba(255, 255, 255, 0.75);
					text-transform: uppercase;
					text-decoration: none;
					font-size: 0.7em;
					letter-spacing: 0.25em;
					height: 5em;
					line-height: 5em;
					-moz-transition: all .25s ease-in-out;
					-webkit-transition: all .25s ease-in-out;
					-o-transition: all .25s ease-in-out;
					-ms-transition: all .25s ease-in-out;
					transition: all .25s ease-in-out;
					outline: 0;
				}

				#nav > ul > li:hover > a {
					color: #fff;
				}

				#nav > ul > li.active > a, #nav > ul > li.active > span {
					color: #fff;
				}

	.dropotron {
		background: #222835 url("images/overlay.png");
		background-color: rgba(44, 50, 63, 0.925);
		padding: 1.25em 1em 1.25em 1em;
		border-radius: 0.35em;
		box-shadow: inset 0px 0px 1px 1px rgba(255, 255, 255, 0.25);
		min-width: 12em;
		text-align: left;
		margin-top: -1.25em;
		margin-left: -1px;
		list-style: none;
	}

		.dropotron.level-0 {
			margin-top: -1px;
			margin-left: 0;
			border-top-left-radius: 0;
			border-top-right-radius: 0;
		}

		.dropotron a, .dropotron span {
			-moz-transition: all .25s ease-in-out;
			-webkit-transition: all .25s ease-in-out;
			-ms-transition: all .25s ease-in-out;
			transition: all .25s ease-in-out;
			display: block;
			color: #eee;
			color: rgba(255, 255, 255, 0.75);
			text-transform: uppercase;
			text-decoration: none;
			font-size: 0.7em;
			letter-spacing: 0.25em;
			border-top: solid 1px rgba(255, 255, 255, 0.15);
			line-height: 3em;
		}

		.dropotron li {
			padding-left: 0;
		}

			.dropotron li:first-child a, .dropotron li:first-child span {
				border-top: 0;
			}

			.dropotron li:hover > a, .dropotron li:hover > span {
				color: #fff;
			}

/* Intro */

	#intro {
		padding-bottom: 8em;
		text-align: center;
	}

		#intro p.style1 {
			font-size: 1.5em;
			letter-spacing: 0.075em;
		}

		#intro p.style2 {
			font-weight: 700;
			color: #787777;
			border-radius: 0.35em;
			box-shadow: inset 0px 0px 1px 1px rgba(182, 182, 182, 0.25);
			font-size: 2.75em;
			letter-spacing: 0.075em;
			line-height: 1.35em;
			padding: 1em 0 1em 0;
			margin-bottom: 1em;
		}

			#intro p.style2 a {
				color: inherit;
				text-decoration: none;
			}

		#intro p.style3 {
			font-size: 1.1em;
			width: 48em;
			margin: 0 auto;
		}

/* Features */

	#features header.style1 {
		padding-bottom: 5em;
	}

	#features ul.actions {
		margin-top: 5em;
	}

/* Highlights */

	#highlights .highlight {
		text-align: center;
	}

		#highlights .highlight h3 {
			color: #637c65;
			margin: 0 0 0.75em 0;
			font-size: 1.15em;
			letter-spacing: 0.05em;
		}

/* Main */

/* Footer */

	#footer {
		background: #282b34 url("images/overlay.png");
		color: #eee;
		color: rgba(255, 255, 255, 0.5);
		padding-bottom: 6em;
	}

		#footer h1, #footer h2, #footer h3, #footer h4, #footer h5, #footer h6, #footer strong, #footer b, #footer a {
			color: #fff;
		}

		#footer hr {
			border-top-color: #787777;
			border-top-color: rgba(255, 255, 255, 0.05);
		}

		#footer form input[type="text"],
		#footer form input[type="email"],
		#footer form input[type="password"],
		#footer form select,
		#footer form textarea {
			background: #ccc;
			box-shadow: none;
		}

			#footer form input[type="text"]:focus,
			#footer form input[type="email"]:focus,
			#footer form input[type="password"]:focus,
			#footer form select:focus,
			#footer form textarea:focus {
				background: #fff;
			}

		#footer input[type="button"],
		#footer input[type="submit"],
		#footer input[type="reset"],
		#footer button,
		#footer .button {
			color: #fff;
			box-shadow: inset 0px 0px 2px 0px rgba(255, 255, 255, 0.5);
		}

			#footer input[type="button"]:hover,
			#footer input[type="submit"]:hover,
			#footer input[type="reset"]:hover,
			#footer button:hover,
			#footer .button:hover {
				color: #fff;
				box-shadow: inset 0px 0px 2px 0px rgba(255, 255, 255, 0.65);
			}

			#footer input[type="button"]:active,
			#footer input[type="submit"]:active,
			#footer input[type="reset"]:active,
			#footer button:active,
			#footer .button:active {
				box-shadow: inset 0px 0px 2px 0px rgba(255, 255, 255, 0.75);
			}

			#footer input[type="button"].style2:active,
			#footer input[type="submit"].style2:active,
			#footer input[type="reset"].style2:active,
			#footer button.style2:active,
			#footer .button.style2:active {
				box-shadow: inset 0px 0px 2px 0px rgba(255, 255, 255, 0.75);
			}

		#footer .title {
			background: #282b34 url("images/overlay.png");
			color: #eee;
		}

		#footer header.style1 {
			padding-bottom: 6em;
			margin-bottom: 6em;
			border-bottom: solid 1px rgba(255, 255, 255, 0.05);
		}

			#footer header.style1 h2 {
				color: #fff;
			}

			#footer header.style1 .p {
				color: inherit;
			}

		#footer .feature-list {
			max-width: 100%;
		}

			#footer .feature-list section {
				border-top-color: rgba(255, 255, 255, 0.05);
			}

			#footer .feature-list h3:before {
				background: #3d4249 url("images/overlay.png");
			}

/* Copyright */

	#copyright {
		text-align: center;
		padding-top: 6em;
		margin-top: 6em;
		border-top: solid 1px rgba(255, 255, 255, 0.05);
	}

		#copyright ul {
			display: inline-block;
			border-radius: 0.35em;
			box-shadow: inset 0px 0px 1px 1px rgba(255, 255, 255, 0.05);
			color: #aaa;
			color: rgba(255, 255, 255, 0.25);
			padding: 0.75em 2em;
			font-size: 0.9em;
		}

			#copyright ul li {
				display: inline-block;
				margin-left: 1em;
				padding-left: 1em;
				border-left: solid 1px #787777;
				border-left-color: rgba(255, 255, 255, 0.05);
			}

				#copyright ul li:first-child {
					border-left: 0;
					margin-left: 0;
					padding-left: 0;
				}

		#copyright a {
			color: inherit;
		}

			#copyright a:hover {
				color: #fff;
			}

/* XLarge */

	@media screen and (max-width: 1680px) {

		/* Basic */

			body, input, textarea, select {
				font-size: 12pt;
			}

	}

/* Large */

	@media screen and (max-width: 1280px) {

		/* Basic */

			body, input, select, textarea {
				font-size: 11pt;
				line-height: 1.5em;
				letter-spacing: 0.015em;
			}

		/* Wrapper */

			.wrapper {
				padding: 4em 0 7em 0;
			}

		/* Logo */

			#logo {
				margin-top: -0.5em !important;
			}

				#logo h1 {
					font-size: 1.75em;
				}

		/* Intro */

			#intro {
				padding-bottom: 7em;
			}

				#intro p.style1 {
					font-size: 1.25em;
				}

				#intro p.style2 {
					font-size: 2.25em;
				}

		/* Footer */

			#footer {
				padding-bottom: 4em;
			}

				#footer header.style1 {
					padding-bottom: 4em;
					margin-bottom: 4em;
					border-bottom: solid 1px rgba(255, 255, 255, 0.05);
				}

		/* Copyright */

			#copyright {
				padding-top: 4em;
				margin-top: 4em;
			}

	}

/* Medium */

	#navPanel, #titleBar {
		display: none;
	}

	@media screen and (max-width: 980px) {

		/* Section/Article */

			header br {
				display: none;
			}

		/* Form */

			form ul.actions {
				text-align: center;
			}

		/* Feature List */

			.feature-list {
				max-width: 40em;
			}

				.feature-list section {
					padding-top: 4em;
				}

				.feature-list > .row > :first-child > section {
					border-top: 0;
					padding-top: 0;
				}

		/* Nav */

			#nav {
				display: none;
			}

		/* Logo */

			#logo {
				top: 0;
			}

		/* Intro */

			#intro p.style3 {
				width: auto;
			}

		/* Highlights */

			#highlights .highlight {
				max-width: 40em;
				margin-left: auto;
				margin-right: auto;
			}

		/* Footer */

			#footer .feature-list {
				border-top: solid 1px rgba(255, 255, 255, 0.05);
				padding-top: 4em;
			}

	}

		@media screen and (max-width: 980px) and (min-width: 737px) {

				#footer .feature-list > .row > :nth-child(2) > section {
					border-top: 0;
					padding-top: 0;
				}

		}

	@media screen and (max-width: 980px) {

		/* Nav */

			#page-wrapper {
				-moz-backface-visibility: hidden;
				-webkit-backface-visibility: hidden;
				-ms-backface-visibility: hidden;
				backface-visibility: hidden;
				-moz-transition: -moz-transform 0.5s ease;
				-webkit-transition: -webkit-transform 0.5s ease;
				-ms-transition: -ms-transform 0.5s ease;
				transition: transform 0.5s ease;
				padding-bottom: 1px;
			}

			#titleBar {
				-moz-backface-visibility: hidden;
				-webkit-backface-visibility: hidden;
				-ms-backface-visibility: hidden;
				backface-visibility: hidden;
				-moz-transition: -moz-transform 0.5s ease;
				-webkit-transition: -webkit-transform 0.5s ease;
				-ms-transition: -ms-transform 0.5s ease;
				transition: transform 0.5s ease;
				display: block;
				height: 44px;
				left: 0;
				position: fixed;
				top: 0;
				width: 100%;
				z-index: 10001;
				background: none;
			}

				#titleBar .title {
					display: none;
				}

				#titleBar .toggle {
					text-decoration: none;
					position: absolute;
					top: 0;
					left: 0;
					width: 60px;
					height: 44px;
				}

					#titleBar .toggle:before {
						-moz-osx-font-smoothing: grayscale;
						-webkit-font-smoothing: antialiased;
						display: inline-block;
						font-style: normal;
						font-variant: normal;
						text-rendering: auto;
						line-height: 1;
						text-transform: none !important;
						font-family: 'Font Awesome 5 Free';
						font-weight: 900;
					}

					#titleBar .toggle:before {
						-moz-transition: all .15s ease-in-out;
						-webkit-transition: all .15s ease-in-out;
						-ms-transition: all .15s ease-in-out;
						transition: all .15s ease-in-out;
						text-decoration: none;
						content: '\f0c9';
						font-size: 14px;
						position: absolute;
						top: 6px;
						left: 6px;
						display: block;
						width: 54px;
						height: 38px;
						line-height: 38px;
						text-align: center;
						color: rgba(255, 255, 255, 0.75);
						background-color: rgba(92, 95, 103, 0.5);
						border-radius: 0.25em;
					}

					#titleBar .toggle:active:before {
						background-color: rgba(92, 95, 103, 0.75);
					}

			#navPanel {
				-moz-backface-visibility: hidden;
				-webkit-backface-visibility: hidden;
				-ms-backface-visibility: hidden;
				backface-visibility: hidden;
				-moz-transform: translateX(-275px);
				-webkit-transform: translateX(-275px);
				-ms-transform: translateX(-275px);
				transform: translateX(-275px);
				-moz-transition: -moz-transform 0.5s ease;
				-webkit-transition: -webkit-transform 0.5s ease;
				-ms-transition: -ms-transform 0.5s ease;
				transition: transform 0.5s ease;
				display: block;
				height: 100%;
				left: 0;
				overflow-y: auto;
				position: fixed;
				top: 0;
				width: 275px;
				z-index: 10002;
				background: #242730 url("images/overlay.png");
				box-shadow: inset -3px 0px 4px 0px rgba(0, 0, 0, 0.1);
			}

				#navPanel .link {
					display: block;
					color: rgba(255, 255, 255, 0.5);
					text-transform: uppercase;
					text-decoration: none;
					font-size: 0.85em;
					letter-spacing: 0.15em;
					text-decoration: none;
					height: 44px;
					line-height: 44px;
					border-top: solid 1px rgba(255, 255, 255, 0.05);
					margin: 0 15px 0 15px;
				}

					#navPanel .link:first-child {
						border-top: 0;
					}

				#navPanel .indent-1 {
					display: inline-block;
					width: 1em;
				}

				#navPanel .indent-2 {
					display: inline-block;
					width: 2em;
				}

				#navPanel .indent-3 {
					display: inline-block;
					width: 3em;
				}

				#navPanel .indent-4 {
					display: inline-block;
					width: 4em;
				}

				#navPanel .indent-5 {
					display: inline-block;
					width: 5em;
				}

				#navPanel .depth-0 {
					color: #fff;
				}

			body.navPanel-visible #page-wrapper {
				-moz-transform: translateX(275px);
				-webkit-transform: translateX(275px);
				-ms-transform: translateX(275px);
				transform: translateX(275px);
			}

			body.navPanel-visible #titleBar {
				-moz-transform: translateX(275px);
				-webkit-transform: translateX(275px);
				-ms-transform: translateX(275px);
				transform: translateX(275px);
			}

			body.navPanel-visible #navPanel {
				-moz-transform: translateX(0);
				-webkit-transform: translateX(0);
				-ms-transform: translateX(0);
				transform: translateX(0);
			}

	}

/* Small */

	@media screen and (max-width: 736px) {

		/* Basic */

			body, input, select, textarea {
				line-height: 1.5em;
				font-size: 10.5pt;
				letter-spacing: 0;
			}

			h2, h3, h4, h5, h6 {
				font-size: 1.2em;
				letter-spacing: 0.05em;
				margin: 0 0 1em 0;
			}

			hr {
				margin: 1em 0 1em 0;
			}

		/* Section/Article */

			section, article {
				clear: both;
			}

			header br {
				display: none;
			}

			header.style1 {
				padding: 0 0 1em 0;
			}

				header.style1 h2 {
					font-size: 1.5em;
					letter-spacing: 0.075em;
					line-height: 1.25em;
					color: white;
				}

				header.style1 p {
					font-size: 1em;
					letter-spacing: 0;
					display: block;
					margin: 0;
				}

		/* Button */

			input[type="button"],
			input[type="submit"],
			input[type="reset"],
			button,
			.button {
				display: block;
				width: 100%;
				font-size: 1em;
				max-width: 30em;
				margin: 0 auto;
			}

		/* Actions */

			ul.actions {
				margin: 2em 0 0 0;
			}

				ul.actions li {
					margin: 15px 0 0 0;
					display: block;
				}

					ul.actions li:first-child {
						margin-top: 0;
					}

		/* Feature List */

			.feature-list section {
				padding-top: 2em;
				padding-left: 4em;
			}

			.feature-list h3:before {
				font-size: 0.9em;
			}

		/* Box */

			.box.post-excerpt .image.left {
				position: relative;
				top: 0.25em;
				width: 25%;
				margin: 0;
			}

			.box.post-excerpt h3, .box.post-excerpt p {
				margin-left: 32.5%;
			}

		/* Wrapper */

			.wrapper {
				padding: 3em 0 6em 0;
			}

				.wrapper .title {
					font-size: 0.9em;
					width: 18em;
					height: 2.5em;
					top: -2.5em;
					line-height: 2.5em;
					margin-bottom: -2.5em;
					margin-left: -9em;
					padding-top: 0.5em;
				}

					.wrapper .title:before, .wrapper .title:after {
						height: 15px;
						bottom: -15px;
						background-size: 100% 100%;
					}

		/* Header */

			#header {
				height: 17em;
			}

				.homepage #header {
					height: 20em;
				}

		/* Logo */

			#logo {
				text-align: center;
				padding-left: 2em;
				padding-right: 2em;
			}

				#logo h1 {
					font-size: 1.5em;
					letter-spacing: 0.2em;
				}

				#logo p {
					margin: 1.25em 0 0 0;
					display: block;
					letter-spacing: 0.2em;
					font-size: 0.9em;
				}

		/* Intro */

			#intro {
				text-align: center;
				padding-right: 2em;
				padding-left: 2em;
				padding-bottom: 5em;
				margin: 0 auto;
			}

				#intro p.style1 {
					margin-bottom: 1.5em;
				}

				#intro p.style2 {
					font-size: 1.5em;
					letter-spacing: 0.05em;
					line-height: 1.25em;
					padding: 1.25em;
					color: #626262;
				}

		/* Features */

			#features header.style1 {
				padding-bottom: 4em;
			}

			#features ul.actions {
				margin-top: 4em;
			}

		/* Content */

			#content {
				padding: 0 0 2em 0;
			}

				#content header.style1 {
					padding-bottom: 2.5em;
				}

		/* Footer */

			#footer {
				padding-bottom: 0;
			}

				#footer header.style1 {
					padding-bottom: 0;
					margin-bottom: 2em;
					border-bottom: 0;
				}

				#footer .feature-list {
					border-top: 0;
					padding-top: 0;
				}

		/* Copyright */

			#copyright {
				padding-top: 0;
				margin-top: 4em;
				border-top: 0;
			}

				#copyright ul {
					padding: 1em 2em;
					width: 100%;
				}

					#copyright ul li {
						display: block;
						margin: 0.5em 0 0 0;
						border-left: 0;
						padding: 0;
					}

						#copyright ul li:first-child {
							margin-top: 0;
						}

	}

/* Wedding Website Custom Styles */

/* Logo customization */
#logo h1 a {
	font-family: 'Great Vibes', cursive;
	font-size: 1.75em;
	font-weight: 400;
	color: #fff;
}

/* Mobile logo adjustments */
@media screen and (max-width: 736px) {
	#logo h1 a {
		font-size: 1.4em; /* Reduced font size for mobile */
		line-height: 1.2; /* Improved line height */
		display: inline-block; /* Ensures proper text wrapping */
	}
}

.dark-text{
	color: #626262 !important;
}

.light-text{
	color: #fff !important;
}

/* Wedding Website Custom Styles */

/* Countdown Timer Styles */
#countdown-container {
	margin-top: 15px;
}

.countdown-timer {
	background: rgba(255, 255, 255, 0.2);
	padding: 10px 20px;
	border-radius: 25px;
	border: 2px solid rgba(255, 255, 255, 0.5);
	font-family: 'Source Sans Pro', sans-serif;
	font-size: 0.9em;
	font-weight: 600;
	color: #fff;
	text-align: center;
	text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
	animation: gentle-pulse 3s ease-in-out infinite;
	margin: 0 auto;
	display: inline-block;
}

@keyframes gentle-pulse {
	0%, 100% { 
		box-shadow: 0 0 5px rgba(255, 255, 255, 0.4);
		transform: scale(1);
	}
	50% { 
		box-shadow: 0 0 15px rgba(255, 255, 255, 0.6);
		transform: scale(1.02);
	}
}

/* Mobile countdown adjustments */
@media screen and (max-width: 736px) {
	.countdown-timer {
		font-size: 0.8em;
		padding: 8px 16px;
	}
}

/* Donation Button Styles */
.donate-btn {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: 10px;
	transition: all 0.3s ease;
	position: relative;
	overflow: hidden;
}

.donate-btn:hover {
	transform: translateY(-2px);
	box-shadow: 0 5px 15px rgba(0,0,0,0.2);
}

.btn-icon {
	font-size: 1.2em;
	animation: heart-beat 2s ease-in-out infinite;
}

@keyframes heart-beat {
	0%, 100% { transform: scale(1); }
	50% { transform: scale(1.1); }
}

/* Confetti Animation Styles */
.confetti-container {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
	z-index: 1000;
	overflow: hidden;
}

.confetti-piece {
	position: absolute;
	width: 8px;
	height: 8px;
	background: #FFD700;
	animation: confetti-fall linear forwards;
}

@keyframes confetti-fall {
	0% {
		transform: translateY(-10px) rotateZ(0deg);
		opacity: 1;
	}
	100% {
		transform: translateY(100vh) translateX(var(--drift, 0px)) rotateZ(360deg);
		opacity: 0;
	}
}

@keyframes confetti-explode {
	0% {
		transform: translate(0, 0) scale(0) rotateZ(0deg);
		opacity: 1;
	}
	15% {
		transform: translate(
			calc(var(--explosion-x) * 0.3), 
			calc(var(--explosion-y) * 0.3)
		) scale(1.2) rotateZ(180deg);
		opacity: 1;
	}
	100% {
		transform: translate(
			var(--explosion-x), 
			calc(var(--explosion-y) + 200px)
		) scale(0.3) rotateZ(720deg);
		opacity: 0;
	}
}

/* Thank You Modal Styles */
.thank-you-modal {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.8);
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 2000;
	opacity: 0;
	visibility: hidden;
	transition: all 0.3s ease;
}

.thank-you-modal.show {
	opacity: 1;
	visibility: visible;
}

.thank-you-content {
	background: #fff;
	padding: 40px;
	border-radius: 10px;
	text-align: center;
	max-width: 500px;
	margin: 20px;
	transform: scale(0.8);
	transition: transform 0.3s ease;
}

.thank-you-modal.show .thank-you-content {
	transform: scale(1);
}

.thank-you-content h2 {
	color: #637c65;
	margin-bottom: 20px;
}

.thank-you-content p {
	color: #666;
	margin-bottom: 15px;
}

/* Three.js Animation Container Styles */
.dove-animation-container {
	height: 400px;
	width: 100%;
	margin: 20px 0;
	border-radius: 10px;
	overflow: hidden;
	position: relative;
	background: linear-gradient(135deg, rgba(240, 234, 214, 0.1), rgba(99, 124, 101, 0.1));
}

.fallback-animation {
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 2em;
	color: #637c65;
	font-family: 'Great Vibes', cursive;
	animation: gentle-float 3s ease-in-out infinite;
}

@keyframes gentle-float {
	0%, 100% { transform: translateY(0px); }
	50% { transform: translateY(-10px); }
}

/* Mobile Three.js container adjustments */
@media screen and (max-width: 736px) {
	.dove-animation-container {
		height: 300px;
		margin: 15px 0;
	}
	
	.fallback-animation {
		font-size: 1.5em;
	}
}

/* Enhanced RSVP Form Styles */
.dietary-checkboxes {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 8px;
	margin-top: 10px;
}

.checkbox-label,
.radio-label {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 8px;
	border: 1px solid #ddd;
	border-radius: 5px;
	cursor: pointer;
	transition: all 0.2s ease;
	background: #fff;
}

.checkbox-label:hover,
.radio-label:hover {
	border-color: #637c65;
	background: rgba(99, 124, 101, 0.05);
}

.checkbox-label input[type="checkbox"],
.radio-label input[type="radio"] {
	margin: 0;
	width: auto;
	height: auto;
}

.meal-selection {
	display: grid;
	gap: 10px;
	margin-top: 10px;
}

.meal-selection .radio-label {
	padding: 15px;
	border: 2px solid #ddd;
	border-radius: 8px;
	font-weight: 600;
}

.meal-selection .radio-label:hover {
	border-color: #637c65;
}

.meal-selection input[type="radio"]:checked + span,
.meal-selection .radio-label:has(input[type="radio"]:checked) {
	border-color: #637c65;
	background: rgba(99, 124, 101, 0.1);
	color: #637c65;
}

/* Form label styling */
#rsvp-form label {
	display: block;
	margin-bottom: 5px;
	font-weight: 600;
	color: #484d55;
}

/* Mobile form adjustments */
@media screen and (max-width: 736px) {
	.dietary-checkboxes {
		grid-template-columns: repeat(2, 1fr);
		gap: 8px;
	}
	
	.checkbox-label,
	.radio-label {
		padding: 6px;
		font-size: 0.9em;
	}
	
	.meal-selection .radio-label {
		padding: 12px;
	}
}

/* Green Text Class */
.green-text {
	color: #637c65 !important;
}

/* RSVP Modal Styles */
.rsvp-modal {
	display: none;
	position: fixed;
	z-index: 10000;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	overflow: auto;
	background-color: rgba(0, 0, 0, 0.8);
	backdrop-filter: blur(5px);
}

.rsvp-modal-content {
	background: #fff;
	margin: 3% auto;
	border-radius: 15px;
	width: 90%;
	max-width: 700px;
	max-height: 85vh;
	overflow-y: auto;
	position: relative;
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
}

.rsvp-close {
	color: #fff;
	position: absolute;
	right: 20px;
	top: 20px;
	font-size: 32px;
	font-weight: bold;
	cursor: pointer;
	z-index: 10001;
	text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
}

.rsvp-close:hover,
.rsvp-close:focus {
	color: #f0f0f0;
	text-decoration: none;
}

/* Vanta.js Header */
.vanta-header {
	height: 200px;
	position: relative;
	overflow: hidden;
	border-radius: 15px 15px 0 0;
	/* Performance optimizations */
	will-change: auto;
	transform: translateZ(0);
	backface-visibility: hidden;
}

.vanta-overlay {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(0, 0, 0, 0.3);
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
	z-index: 1;
}

.vanta-header .title {
	background: transparent;
	color: #fff;
	font-size: 1.2em;
	margin-bottom: 10px;
	text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
}

.vanta-header header.style1 {
	padding: 0;
	margin: 0;
}

.vanta-header h2 {
	color: #fff !important;
	font-size: 1.5em;
	margin: 0 0 10px 0;
	text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
}

.vanta-header p {
	color: #fff !important;
	margin: 0;
	font-size: 1em;
	text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
}

/* Form Container */
.rsvp-form-container {
	padding: 30px;
	background: #f8f8f8;
	overflow-y: auto;
	max-height: calc(90vh - 200px);
}

/* Form Field Styling */
.form-field {
	margin-bottom: 25px;
}

.form-field label {
	display: block;
	font-weight: 600;
	color: #484d55;
	margin-bottom: 8px;
	font-size: 0.95em;
}

.form-field input[type="text"],
.form-field input[type="email"],
.form-field input[type="tel"],
.form-field textarea {
	width: 100%;
	padding: 12px 15px;
	border: 2px solid #e0e0e0;
	border-radius: 8px;
	font-size: 0.95em;
	transition: all 0.3s ease;
	background: #fff;
}

.form-field input:focus,
.form-field textarea:focus {
	border-color: #637c65;
	outline: none;
	box-shadow: 0 0 0 3px rgba(99, 124, 101, 0.1);
}

/* Attending Buttons */
.attending-buttons {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 15px;
	margin-top: 10px;
}

.attending-btn {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 20px 15px;
	border: 2px solid #e0e0e0;
	border-radius: 12px;
	background: #fff;
	cursor: pointer;
	transition: all 0.3s ease;
	font-family: inherit;
	min-height: 120px;
	text-align: center;
	word-wrap: break-word;
	overflow: hidden;
}

.attending-btn:hover {
	border-color: #637c65;
	background: rgba(99, 124, 101, 0.05);
}

.attending-btn.selected {
	border-color: #637c65;
	background: rgba(99, 124, 101, 0.1);
	color: #637c65;
}

.attending-btn .btn-icon {
	font-size: 1.5em;
	margin-bottom: 8px;
	display: block;
}

.attending-btn .btn-text {
	font-weight: 600;
	font-size: 0.85em;
	line-height: 1.2;
	text-align: center;
	word-break: break-word;
	hyphens: auto;
}

/* Dietary Checkboxes - Updated */
.dietary-checkboxes {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 8px;
	margin-top: 10px;
}

/* Meal Selection - Updated */
.meal-selection {
	display: grid;
	gap: 12px;
	margin-top: 10px;
}

.meal-selection .radio-label {
	padding: 15px;
	border: 2px solid #e0e0e0;
	border-radius: 8px;
	font-weight: 500;
	transition: all 0.3s ease;
}

/* Form Actions */
.form-actions {
	margin-top: 30px;
	padding-top: 20px;
	border-top: 1px solid #e0e0e0;
}

.form-actions ul.actions {
	margin: 0;
	text-align: center;
}

/* Mobile modal adjustments */
@media screen and (max-width: 736px) {
	.rsvp-modal-content {
		margin: 2% auto;
		width: 95%;
		max-height: 95vh;
	}
	
	.rsvp-form-container {
		padding: 20px;
	}
	
	.vanta-header {
		height: 150px;
	}
	
	.vanta-header h2 {
		font-size: 1.2em;
	}
	
	.rsvp-form-container {
		padding: 20px;
		max-height: calc(90vh - 150px);
	}
	
	.attending-buttons {
		grid-template-columns: 1fr;
		gap: 10px;
	}
	
	.attending-btn {
		padding: 15px;
	}
	
	.dietary-checkboxes {
		grid-template-columns: repeat(2, 1fr);
		gap: 8px;
	}
}

/* Sticky Contribute Button */
/* Sticky Buttons Container */
.sticky-buttons {
	position: fixed;
	top: 20px;
	left: 20px;
	right: 20px;
	z-index: 9999;
	display: flex;
	justify-content: space-between;
	pointer-events: none;
}

.sticky-buttons > * {
	pointer-events: auto;
}

/* RSVP Button */
.sticky-rsvp {
	border-radius: 50px;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
	transition: all 0.3s ease;
}

.sticky-rsvp a {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 12px 20px;
	background: linear-gradient(135deg, #637c65, #749977);
	color: white;
	text-decoration: none;
	border-radius: 50px;
	font-weight: 600;
	font-size: 0.9em;
	transition: all 0.3s ease;
	white-space: nowrap;
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
}

.sticky-rsvp:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 25px rgba(0, 0, 0, 0.2);
}

.sticky-rsvp a:hover {
	background: linear-gradient(135deg, #749977, #637c65);
	transform: scale(1.05);
}

.sticky-rsvp a:active {
	transform: scale(0.95);
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
}

.rsvp-icon {
	font-size: 1.1em;
}

.rsvp-text {
	font-family: 'Montserrat', sans-serif;
}

/* Contribute Button */
.sticky-contribute {
	border-radius: 50px;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
	transition: all 0.3s ease;
}

.sticky-contribute a {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 12px 20px;
	background: linear-gradient(135deg, #637c65, #749977);
	color: white;
	text-decoration: none;
	border-radius: 50px;
	font-weight: 600;
	font-size: 0.9em;
	transition: all 0.3s ease;
	white-space: nowrap;
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
}

.sticky-contribute:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 25px rgba(0, 0, 0, 0.2);
}

.sticky-contribute a:hover {
	background: linear-gradient(135deg, #749977, #637c65);
	transform: scale(1.05);
}

.contribute-icon {
	font-size: 1.1em;
}

.contribute-text {
	font-family: 'Montserrat', sans-serif;
}

/* Mobile Responsive Sticky Buttons */
@media screen and (max-width: 736px) {
	.sticky-buttons {
		display: block;
		top: auto;
		left: auto;
		right: auto;
		bottom: auto;
	}
	
	.sticky-rsvp {
		position: fixed;
		top: 15px;
		right: 15px;
	}
	
	.sticky-contribute {
		position: fixed;
		bottom: 20px;
		right: 15px;
	}
	
	.sticky-rsvp a {
		padding: 10px 15px;
		min-width: auto;
		min-height: auto;
		justify-content: center;
		-webkit-tap-highlight-color: rgba(99, 124, 101, 0.2);
		touch-action: manipulation;
		position: relative;
	}
	
	.sticky-contribute a {
		padding: 8px 12px;
		min-width: auto;
		min-height: auto;
		justify-content: center;
		-webkit-tap-highlight-color: rgba(99, 124, 101, 0.2);
		touch-action: manipulation;
		position: relative;
	}
	
	/* Ensure entire button area is clickable */
	.sticky-rsvp a::after,
	.sticky-contribute a::after {
		content: '';
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 1;
	}
	
	.contribute-text {
		display: none;
	}
	
	.rsvp-text {
		display: inline;
		font-size: 0.9em;
		position: relative;
		z-index: 2;
	}
	
	.rsvp-icon {
		display: none;
	}
	
	.contribute-icon {
		font-size: 1.2em;
		position: relative;
		z-index: 2;
	}
}

/* Wedding Colors Section */
.wedding-colors-section {
	margin-top: 40px;
	padding: 30px;
	background: rgba(255, 255, 255, 0.1);
	border-radius: 15px;
	text-align: center;
}

.wedding-colors-section h3 {
	font-family: 'Great Vibes', cursive;
	font-size: 2.2em;
	color: #637c65;
	margin-bottom: 15px;
}

.color-description {
	font-size: 1.1em;
	margin-bottom: 30px;
	color: #555;
	line-height: 1.6;
	max-width: 600px;
	margin-left: auto;
	margin-right: auto;
}

.color-palette {
	display: flex;
	justify-content: center;
	gap: 40px;
	flex-wrap: wrap;
}

.color-swatch {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
}

.color-circle {
	width: 80px;
	height: 80px;
	border-radius: 50%;
	border: 3px solid rgba(255, 255, 255, 0.8);
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
	transition: transform 0.3s ease;
}

.color-circle:hover {
	transform: scale(1.1);
}

.color-name {
	font-weight: 600;
	font-size: 1.1em;
	color: #333;
}

.color-code {
	font-family: 'Courier New', monospace;
	font-size: 0.9em;
	color: #666;
	background: rgba(255, 255, 255, 0.8);
	padding: 4px 8px;
	border-radius: 4px;
}

@media screen and (max-width: 980px) {
	.color-palette {
		gap: 30px;
	}
	
	.color-circle {
		width: 70px;
		height: 70px;
	}
}

@media screen and (max-width: 736px) {
	.wedding-colors-section {
		margin-top: 30px;
		padding: 20px;
	}
	
	.wedding-colors-section h3 {
		font-size: 1.8em;
	}
	
	.color-description {
		font-size: 1em;
		margin-bottom: 25px;
	}
	
	.color-palette {
		gap: 25px;
	}
	
	.color-circle {
		width: 60px;
		height: 60px;
	}
	
	.color-name {
		font-size: 1em;
	}
	
	.color-code {
		font-size: 0.8em;
	}
}

/* RSVP Salutation beneath animation */
.rsvp-salutation {
	padding: 20px 30px;
	text-align: center;
	background: rgba(255, 255, 255, 0.95);
	border-radius: 0 0 15px 15px;
	margin-bottom: 0;
}

.rsvp-salutation h2 {
	font-size: 1.4em;
	margin-bottom: 8px;
}

.rsvp-salutation p {
	font-size: 1em;
	margin: 0;
}

@media screen and (max-width: 736px) {
	.rsvp-salutation {
		padding: 15px 20px;
	}
	
	.rsvp-salutation h2 {
		font-size: 1.2em;
	}
	
	.rsvp-salutation p {
		font-size: 0.9em;
	}
}

/* Food Menu Styles */
.menu-content {
	display: grid;
	gap: 50px;
	margin-top: 40px;
}

.menu-section {
	text-align: center;
}

.menu-category {
	font-family: 'Great Vibes', cursive;
	font-size: 2.2em;
	color: #637c65;
	margin-bottom: 30px;
	text-align: center;
}

.menu-items {
	display: grid;
	gap: 25px;
	max-width: 800px;
	margin: 0 auto;
}

.menu-item {
	background: rgba(255, 255, 255, 0.8);
	padding: 25px;
	border-radius: 15px;
	border-left: 4px solid #637c65;
	text-align: left;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.menu-item:hover {
	transform: translateY(-3px);
	box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
}

.menu-item.featured {
	border-left-color: #2d5016;
	background: rgba(99, 124, 101, 0.05);
}

.menu-item h4 {
	font-size: 1.4em;
	color: #2d5016;
	margin-bottom: 10px;
	font-weight: 600;
}

.menu-item p {
	color: #555;
	line-height: 1.6;
	margin: 0;
}

.dietary-note {
	margin-top: 50px;
	padding: 25px;
	background: rgba(99, 124, 101, 0.1);
	border-radius: 15px;
	text-align: center;
	border: 2px solid rgba(99, 124, 101, 0.2);
}

.dietary-note p {
	margin: 0;
	color: #2d5016;
	font-size: 1.1em;
}

@media screen and (max-width: 980px) {
	.menu-content {
		gap: 40px;
	}
	
	.menu-category {
		font-size: 2em;
	}
	
	.menu-items {
		gap: 20px;
	}
	
	.menu-item {
		padding: 20px;
	}
}

@media screen and (max-width: 736px) {
	.menu-content {
		gap: 30px;
		margin-top: 30px;
	}
	
	.menu-category {
		font-size: 1.8em;
		margin-bottom: 20px;
	}
	
	.menu-items {
		gap: 15px;
	}
	
	.menu-item {
		padding: 18px;
	}
	
	.menu-item h4 {
		font-size: 1.2em;
	}
	
	.dietary-note {
		margin-top: 30px;
		padding: 20px;
	}
	
	.dietary-note p {
		font-size: 1em;
	}
}

/* Wedding Program Styles */
.program-timeline {
	position: relative;
	max-width: 800px;
	margin: 40px auto 0;
	padding: 0;
}

.program-timeline::before {
	content: '';
	position: absolute;
	left: 50%;
	top: 0;
	bottom: 0;
	width: 4px;
	background: linear-gradient(to bottom, #637c65, #2d5016, #637c65);
	transform: translateX(-50%);
}

.timeline-item {
	position: relative;
	margin-bottom: 50px;
	display: flex;
	align-items: flex-start;
	gap: 30px;
}

.timeline-item:nth-child(odd) {
	flex-direction: row;
}

.timeline-item:nth-child(even) {
	flex-direction: row-reverse;
}

.timeline-item::before {
	content: '';
	position: absolute;
	left: 50%;
	top: 20px;
	width: 16px;
	height: 16px;
	background: #637c65;
	border: 4px solid white;
	border-radius: 50%;
	transform: translateX(-50%);
	z-index: 2;
	box-shadow: 0 0 0 4px rgba(99, 124, 101, 0.2);
}

.timeline-item.highlight::before {
	background: #2d5016;
	width: 20px;
	height: 20px;
	top: 18px;
	box-shadow: 0 0 0 4px rgba(45, 80, 22, 0.2);
}

.timeline-time {
	background: linear-gradient(135deg, #637c65, #749977);
	color: white;
	padding: 10px 20px;
	border-radius: 25px;
	font-weight: 600;
	font-size: 1.1em;
	text-align: center;
	min-width: 120px;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}

.timeline-content {
	flex: 1;
	background: rgba(255, 255, 255, 0.9);
	padding: 25px;
	border-radius: 15px;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
	border-left: 4px solid #637c65;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.timeline-item.highlight .timeline-content {
	border-left-color: #2d5016;
	background: rgba(45, 80, 22, 0.05);
}

.timeline-content:hover {
	transform: translateY(-3px);
	box-shadow: 0 6px 25px rgba(0, 0, 0, 0.12);
}

.timeline-content h3 {
	color: #2d5016;
	font-size: 1.4em;
	margin-bottom: 10px;
	font-weight: 600;
}

.timeline-content p {
	color: #555;
	line-height: 1.6;
	margin: 0;
}

.program-notes {
	margin-top: 60px;
	padding: 30px;
	background: rgba(99, 124, 101, 0.1);
	border-radius: 15px;
	border: 2px solid rgba(99, 124, 101, 0.2);
}

.program-notes h3 {
	color: #2d5016;
	font-size: 1.6em;
	margin-bottom: 20px;
	text-align: center;
	font-family: 'Great Vibes', cursive;
}

.program-notes ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

.program-notes li {
	padding: 10px 0;
	border-bottom: 1px solid rgba(99, 124, 101, 0.2);
	color: #555;
	line-height: 1.6;
}

.program-notes li:last-child {
	border-bottom: none;
}

@media screen and (max-width: 980px) {
	.program-timeline::before {
		left: 30px;
	}
	
	.timeline-item {
		flex-direction: row !important;
		margin-left: 60px;
	}
	
	.timeline-item::before {
		left: 30px;
		transform: translateX(-50%);
	}
	
	.timeline-time {
		min-width: 100px;
		font-size: 1em;
	}
	
	.timeline-content {
		padding: 20px;
	}
	
	.program-notes {
		padding: 25px;
	}
}

@media screen and (max-width: 736px) {
	.program-timeline {
		margin-top: 30px;
	}
	
	.program-timeline::before {
		left: 20px;
	}
	
	.timeline-item {
		flex-direction: column !important;
		margin-left: 50px;
		gap: 15px;
	}
	
	.timeline-item::before {
		left: 20px;
		top: 15px;
	}
	
	.timeline-time {
		min-width: auto;
		align-self: flex-start;
		font-size: 0.9em;
		padding: 8px 16px;
	}
	
	.timeline-content {
		padding: 18px;
	}
	
	.timeline-content h3 {
		font-size: 1.2em;
	}
	
	.program-notes {
		margin-top: 40px;
		padding: 20px;
	}
	
	.program-notes h3 {
		font-size: 1.4em;
	}
}

/* Animation performance optimizations */
@media (prefers-reduced-motion: reduce) {
	.countdown-timer,
	.btn-icon,
	.fallback-animation,
	.confetti-piece,
	.simple-bird-animation {
		animation: none;
	}
	
	.donate-btn:hover {
		transform: none;
	}
}

/* === Wedding Website Custom Overrides === */
.wedding-colors-section h3 {
    background-color: transparent !important;
    color: #637c65;
}

/* Ensure menu category text is readable on green background */
.wrapper.style2 .menu-category {
    color: #f0ead6;
}

/* Collapsible sections */
.collapsible {
    margin-top: 2rem;
    border-radius: 0.35em;
}

.collapsible summary {
    position: relative;
    padding: 0.75em 2.5em 0.75em 1.25em;
    cursor: pointer;
    font-weight: 700;
    font-size: 1.1em;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 0.35em;
    list-style: none;
}

.collapsible summary::after {
    content: "\25BC"; /* down arrow */
    position: absolute;
    right: 1rem;
    font-size: 1.1em;
    transition: transform 0.3s ease;
}

.collapsible[open] summary::after {
    transform: rotate(180deg);
}

.collapsible summary::-webkit-details-marker {
    display: none;
}

/* Slightly darker background when open */
.collapsible[open] summary {
    background: rgba(255, 255, 255, 0.2);
}

/* Hide default arrow in Firefox */
.collapsible summary::marker {
    content: "";
}

/* RSVP modal scroll fix */
.rsvp-modal-content {
    overflow-y: auto;
}

.rsvp-form-container {
    max-height: none;
    padding: 25px;
}

/* Checkbox selected state */
.checkbox-label:has(input[type="checkbox"]:checked) {
    border-color: #637c65;
    background: rgba(99, 124, 101, 0.1);
    color: #637c65;
}

/* ===========================================
   Multi-Guest RSVP System Styles
   =========================================== */

/* Guest Count Selection */
.guest-count-selection {
    text-align: center;
    padding: 20px 0;
}

.guest-count-selection h3 {
    color: #2d5016;
    margin-bottom: 20px;
    font-size: 1.3em;
    font-weight: 600;
}

.invitation-warning {
    background: rgba(128, 128, 128, 0.05);
    border: 1px solid #ccc;
    border-radius: 8px;
    padding: 15px;
    margin-bottom: 25px;
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.warning-icon {
    font-size: 1em;
    margin-top: 2px;
    color: #666;
}

.invitation-warning p {
    margin: 0;
    text-align: left;
    font-size: 0.9em;
    line-height: 1.4;
    color: #666;
}

.guest-count-options {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 15px;
    margin-bottom: 30px;
}

.count-option {
    display: block;
    cursor: pointer;
    position: relative;
}

.count-option input[type="radio"] {
    position: absolute;
    opacity: 0;
    pointer-events: none;
    z-index: 1;
}

.option-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 20px 15px;
    border: 2px solid #e0e0e0;
    border-radius: 12px;
    background: #fafafa;
    transition: all 0.3s ease;
    min-height: 80px;
    justify-content: center;
}

.count-option:hover .option-content {
    border-color: #637c65;
    background: rgba(99, 124, 101, 0.05);
}

.count-option input[type="radio"]:checked + .option-content {
    border-color: #637c65;
    background: rgba(99, 124, 101, 0.1);
    box-shadow: 0 0 0 3px rgba(99, 124, 101, 0.1);
}

.count-number {
    font-size: 2em;
    font-weight: bold;
    color: #637c65;
    line-height: 1;
    margin-bottom: 8px;
}

.count-text {
    font-size: 0.9em;
    font-weight: 500;
    color: #333;
    text-align: center;
}

/* Multi-Guest Forms Container */
.multi-guest-forms {
    animation: slideIn 0.3s ease;
}

@keyframes slideIn {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.forms-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 25px;
    padding-bottom: 15px;
    padding-top: 5px;
    border-bottom: 2px solid #e0e0e0;
}

.back-button {
    background: none;
    border: 1px solid #637c65;
    color: #637c65;
    border-radius: 6px;
    cursor: pointer;
    font-size: 0.9em;
    transition: all 0.3s ease;
}

.back-button:hover {
    background: #637c65;
    color: white;
}

.forms-header h3 {
    margin: 0;
    color: #2d5016;
    font-size: 1.4em;
    font-weight: 600;
}

.progress-indicator {
    background: rgba(99, 124, 101, 0.1);
    padding: 8px 15px;
    border-radius: 20px;
    font-size: 0.85em;
    font-weight: 600;
    color: #2d5016;
}

/* Guest Cards Container */
.guest-cards-container {
    margin-bottom: 30px;
}

/* Individual Guest Cards */
.guest-card {
    border: 2px solid #e0e0e0;
    border-radius: 15px;
    padding: 25px;
    margin-bottom: 20px;
    background: #fafafa;
    transition: all 0.3s ease;
    position: relative;
}

.guest-card.primary {
    border-color: #637c65;
    background: rgba(99, 124, 101, 0.05);
}

.guest-card:hover {
    border-color: #637c65;
    box-shadow: 0 4px 12px rgba(99, 124, 101, 0.1);
}

.guest-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 20px;
}

.guest-title {
    display: flex;
    align-items: center;
    gap: 12px;
}

.guest-number-badge {
    background: #637c65;
    color: white;
    border-radius: 50%;
    width: 35px;
    height: 35px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    font-size: 1.1em;
}

.guest-card.primary .guest-number-badge {
    background: #2d5016;
}

.guest-header h4 {
    margin: 0;
    color: #2d5016;
    font-size: 1.2em;
    font-weight: 600;
}

.remove-guest-btn {
    background: transparent;
    color: #dc3545;
    border: 1px solid #dc3545;
    padding: 4px 8px;
    border-radius: 4px;
    cursor: pointer;
    font-size: 0.75em;
    transition: all 0.3s ease;
}

.remove-guest-btn:hover {
    background: #dc3545;
    color: white;
}

/* Guest Body */
.guest-body .form-field {
    margin-bottom: 20px;
}

.guest-body .form-field:last-child {
    margin-bottom: 0;
}

/* Enhanced Attending Buttons */
.attending-buttons {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
    margin-top: 15px;
}

.attending-buttons.error {
    animation: shake 0.5s ease-in-out;
}

@keyframes shake {
    0%, 100% { transform: translateX(0); }
    25% { transform: translateX(-5px); }
    75% { transform: translateX(5px); }
}

.attending-btn {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 20px 15px 25px 15px;
    border: 2px solid #e0e0e0;
    border-radius: 12px;
    background: white;
    cursor: pointer;
    transition: all 0.3s ease;
    min-height: 80px;
    text-align: center;
}

.attending-btn:hover {
    border-color: #637c65;
    background: rgba(99, 124, 101, 0.05);
}

.attending-btn.selected {
    border-color: #637c65;
    background: rgba(99, 124, 101, 0.1);
    color: #637c65;
}

.attending-btn .btn-icon {
    font-size: 1.4em;
    margin-bottom: 6px;
    display: block;
}

.attending-btn .btn-text {
    font-weight: 600;
    font-size: 0.9em;
    line-height: 0;
    text-align: center;
	padding-bottom: 25px;

}

/* Guest Details Section */
.guest-details {
    margin-top: 25px;
    padding-top: 25px;
    border-top: 1px solid #e0e0e0;
    animation: fadeIn 0.3s ease;
}

@keyframes fadeIn {
    from { opacity: 0; height: 0; }
    to { opacity: 1; height: auto; }
}

/* Enhanced Meal Selection */
.meal-selection {
    display: grid;
    gap: 12px;
    margin-top: 10px;
}

.meal-selection.error {
    animation: shake 0.5s ease-in-out;
}

.meal-selection .radio-label {
    display: flex;
    align-items: center;
    padding: 15px;
    border: 2px solid #e0e0e0;
    border-radius: 10px;
    cursor: pointer;
    transition: all 0.3s ease;
    background: white;
}

.meal-selection .radio-label:hover {
    border-color: #637c65;
    background: rgba(99, 124, 101, 0.05);
}

.meal-selection .radio-label input[type="radio"] {
    margin-right: 12px;
    transform: scale(1.2);
}

.meal-selection .radio-label:has(input[type="radio"]:checked) {
    border-color: #637c65;
    background: rgba(99, 124, 101, 0.1);
    color: #637c65;
    font-weight: 600;
}

.meal-selection .radio-label span {
    font-size: 0.95em;
    line-height: 1.3;
}

/* Enhanced Dietary Checkboxes */
.dietary-checkboxes {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
    margin-top: 10px;
}

.checkbox-label {
    display: flex;
    align-items: center;
    padding: 10px 12px;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.3s ease;
    background: white;
    font-size: 0.9em;
}

.checkbox-label:hover {
    border-color: #637c65;
    background: rgba(99, 124, 101, 0.05);
}

.checkbox-label input[type="checkbox"] {
    margin-right: 8px;
    transform: scale(1.1);
}

.checkbox-label:has(input[type="checkbox"]:checked) {
    border-color: #637c65;
    background: rgba(99, 124, 101, 0.1);
    color: #637c65;
    font-weight: 500;
}

/* Party Fields */
.party-fields {
    margin-top: 30px;
    padding: 25px 0;
    border-top: 2px solid #e0e0e0;
    text-align: center;
}

.optional {
    color: #999;
    font-size: 0.85em;
    font-weight: normal;
}

/* Error States */
.form-field input.error,
.form-field textarea.error {
    border-color: #dc3545;
    background: rgba(220, 53, 69, 0.05);
}

.form-field input.error:focus,
.form-field textarea.error:focus {
    border-color: #dc3545;
    box-shadow: 0 0 0 3px rgba(220, 53, 69, 0.1);
}

/* Form Validation Styles */
.validation-summary {
    background: #fef2f2;
    border: 1px solid #fecaca;
    border-radius: 8px;
    padding: 20px;
    margin-bottom: 25px;
    position: relative;
    animation: slideDown 0.3s ease-out;
}

@keyframes slideDown {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.validation-summary-content h4 {
    margin: 0 0 15px 0;
    color: #dc2626;
    font-size: 1.1em;
    font-weight: 600;
}

.validation-summary-content ul {
    margin: 0;
    padding-left: 20px;
    list-style-type: disc;
}

.validation-summary-content li {
    margin-bottom: 8px;
    color: #7f1d1d;
    line-height: 1.4;
}

.close-validation-summary {
    position: absolute;
    top: 15px;
    right: 15px;
    background: none;
    border: none;
    color: #dc2626;
    font-size: 1.2em;
    cursor: pointer;
    padding: 2px 6px;
    border-radius: 3px;
    transition: all 0.2s ease;
}

.close-validation-summary:hover {
    background: rgba(220, 38, 38, 0.1);
    color: #991b1b;
}

/* Enhanced Error States */
.form-field input.error,
.form-field input.validation-error,
.form-field textarea.error,
.form-field textarea.validation-error {
    border-color: #dc2626 !important;
    background-color: #fef2f2;
    box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.1);
}

.attending-buttons.error,
.attending-buttons.validation-error {
    border: 2px solid #dc2626;
    border-radius: 8px;
    padding: 8px;
    background-color: #fef2f2;
}

.meal-selection.error,
.meal-selection.validation-error {
    border: 2px solid #dc2626;
    border-radius: 8px;
    padding: 12px;
    background-color: #fef2f2;
}

.meal-selection.error .radio-label,
.meal-selection.validation-error .radio-label {
    color: #7f1d1d;
}

/* Error input focus states */
.form-field input.error:focus,
.form-field input.validation-error:focus,
.form-field textarea.error:focus,
.form-field textarea.validation-error:focus {
    border-color: #dc2626;
    box-shadow: 0 0 0 4px rgba(220, 38, 38, 0.15);
    outline: none;
}

/* Valid state indicators */
.form-field input:valid:not(:placeholder-shown) {
    border-color: #059669;
    background-color: #f0fdf4;
}

.form-field input:valid:not(:placeholder-shown):focus {
    border-color: #059669;
    box-shadow: 0 0 0 3px rgba(5, 150, 105, 0.1);
}

/* Validation feedback for attending buttons */
.attending-buttons .attending-btn.selected {
    animation: validSelection 0.5s ease-out;
}

@keyframes validSelection {
    0% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.05);
    }
    100% {
        transform: scale(1);
    }
}

/* Submit Error Messages */
.submit-errors {
    background: #fef2f2;
    border: 1px solid #fca5a5;
    border-radius: 8px;
    padding: 15px;
    margin-bottom: 20px;
    animation: errorAppear 0.3s ease-out;
}

@keyframes errorAppear {
    from {
        opacity: 0;
        transform: translateY(-5px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.submit-error-content {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

.submit-errors .error-icon {
    color: #dc2626;
    font-size: 1.1em;
    flex-shrink: 0;
    margin-top: 2px;
}

.submit-errors .error-messages {
    flex: 1;
}

.submit-errors .error-message {
    color: #7f1d1d;
    font-size: 0.95em;
    line-height: 1.4;
    margin-bottom: 6px;
}

.submit-errors .error-message:last-child {
    margin-bottom: 0;
}

/* Mobile Responsiveness */
@media (max-width: 768px) {
    .guest-count-options {
        grid-template-columns: 1fr;
        gap: 12px;
    }
    
    .option-content {
        flex-direction: row;
        text-align: left;
        padding: 15px;
        min-height: 60px;
    }
    
    .count-number {
        font-size: 1.5em;
        margin-bottom: 0;
        margin-right: 15px;
    }
    
    .count-text {
        text-align: left;
        font-size: 1em;
    }
    
    .forms-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }
    
    .guest-card {
        padding: 20px;
        margin-bottom: 15px;
    }
    
    .guest-header {
        margin-bottom: 15px;
    }
    
    .guest-title {
        gap: 10px;
    }
    
    .guest-number-badge {
        width: 30px;
        height: 30px;
        font-size: 1em;
    }
    
    .guest-header h4 {
        font-size: 1.1em;
    }
    
    .attending-buttons {
        grid-template-columns: 1fr;
        gap: 10px;
    }
    
    .attending-btn {
        flex-direction: row;
        text-align: left;
        padding: 15px;
        min-height: 50px;
    }
    
    .attending-btn .btn-icon {
        margin-bottom: 0;
        margin-right: 10px;
        font-size: 1.2em;
    }
    
    .attending-btn .btn-text {
        text-align: left;
        font-size: 0.95em;
    }
    
    .meal-selection .radio-label {
        padding: 12px;
    }
    
    .dietary-checkboxes {
        grid-template-columns: repeat(2, 1fr);
        gap: 6px;
    }
    
    .checkbox-label {
        padding: 8px 10px;
        font-size: 0.85em;
    }
    
    .invitation-warning {
        padding: 12px;
    }
    
    .invitation-warning p {
        font-size: 0.9em;
    }
}

@media (max-width: 480px) {
    .guest-card {
        padding: 15px;
    }
    
    .dietary-checkboxes {
        grid-template-columns: 1fr;
    }
    
    .forms-header h3 {
        font-size: 1.2em;
    }
}

/* Success Page Enhancements */
.success-content {
    text-align: center;
    max-width: 600px;
    margin: 0 auto;
}

.success-icon {
    font-size: 4em;
    margin-bottom: 40px;
    animation: bounceIn 0.6s ease;
}

@keyframes bounceIn {
    0% {
        transform: scale(0);
        opacity: 0;
    }
    50% {
        transform: scale(1.1);
        opacity: 1;
    }
    100% {
        transform: scale(1);
        opacity: 1;
    }
}

.next-steps {
    background: rgba(99, 124, 101, 0.05);
    border: 2px solid rgba(99, 124, 101, 0.2);
    border-radius: 15px;
    padding: 25px;
    margin: 30px 0;
    text-align: left;
}

.next-steps h3 {
    color: #2d5016;
    margin-bottom: 15px;
    text-align: center;
}

.next-steps-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.next-steps-list li {
    padding: 10px 0;
    padding-left: 30px;
    position: relative;
    font-size: 1.1em;
    line-height: 1.4;
}

.next-steps-list li:before {
    content: "→";
    position: absolute;
    left: 0;
    color: #637c65;
    font-weight: bold;
    font-size: 1.2em;
}

.celebration-text {
    font-size: 1.2em;
    font-weight: 600;
    color: #2d5016;
    margin: 25px 0;
}

}

/* Menu item visibility on green background */
.wrapper.style2 .menu-item {
    background: rgba(255, 255, 255, 0.95);
    color: #2d5016;
}
.wrapper.style2 .menu-item p,
.wrapper.style2 .menu-item h4 {
    color: #2d5016;
}

/* Timeline highlight legibility */
.timeline-item.highlight .timeline-content {
    background: rgba(255, 255, 255, 0.95);
    border-left-color: #2d5016;
}

/* Wedding colours heading text */
.wedding-colors-section h3 {
    color: #2d5016 !important;
}

/* Menu category pills */
.menu-category {
    padding: 0.4em 1.2em;
    border-radius: 9999px;
    background: #637c65;
    color: #f0ead6 !important;
    display: inline-block;
}

/* Timeline time pill */
.timeline-time {
    padding: 12px 24px;
    border-radius: 9999px;
}

/* Story Gallery Styles */
.story-gallery {
    margin: 3em 0;
}

.gallery-row {
    display: flex;
    gap: 1.5em;
    margin-bottom: 1.5em;
    justify-content: center;
}

.gallery-item {
    flex: 1;
    max-width: 300px;
}

.image-container {
    position: relative;
    overflow: hidden;
    border-radius: 0.5em;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.image-container:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.2);
}

.image-container img {
    width: 100%;
    height: 250px;
    object-fit: cover;
    display: block;
}

.location-pin {
    position: absolute;
    bottom: 12px;
    left: 12px;
    background: rgba(0, 0, 0, 0.8);
    color: white;
    padding: 0.4em 0.8em;
    border-radius: 20px;
    font-size: 0.85em;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 0.3em;
    backdrop-filter: blur(5px);
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.pin-icon {
    font-size: 1em;
}

.location-text {
    font-size: 0.9em;
}

/* Responsive adjustments for gallery */
@media screen and (max-width: 980px) {
    .gallery-row {
        flex-wrap: wrap;
        gap: 1em;
    }
    
    .gallery-item {
        flex: 1 1 calc(50% - 0.5em);
    }
}

@media screen and (max-width: 736px) {
    .gallery-row {
        flex-direction: column;
        gap: 1.5em;
    }
    
    .gallery-item {
        flex: none;
        max-width: none;
    }
    
    .image-container img {
        height: 220px;
    }
}

/* Venue Gallery Styles */
.venue-gallery-container {
    margin: 60px auto !important;
    display: flex;
    justify-content: center;
    width: 100% !important;
    max-width: none !important;
}

.venue-gallery {
    margin: 2em 0;
    width: 100%;
    display: flex;
    justify-content: center;
}

.venue-gallery-row {
    display: flex;
    gap: 2em;
    justify-content: center;
    max-width: 932px;
    width: 100%;
}

.venue-gallery-item {
    flex: 1;
    max-width: 450px;
}

.venue-gallery-item a {
    text-decoration: none;
    display: block;
}

.venue-image-container {
    position: relative;
    overflow: hidden;
    border-radius: 0.5em;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.venue-image-container:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.2);
}

.venue-image-container img {
    width: 100%;
    height: 300px;
    object-fit: cover;
    display: block;
}

/* Responsive adjustments for venue gallery */
@media screen and (max-width: 980px) {
    .venue-gallery-row {
        gap: 1.5em;
    }
}

@media screen and (max-width: 736px) {
    .venue-gallery-row {
        flex-direction: column;
        gap: 1.5em;
    }
    
    .venue-gallery-item {
        flex: none;
        max-width: none;
    }
    
    .venue-image-container img {
        height: 250px;
    }
}

/* Venue Map Alignment */
.venue-map-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 0 auto;
}

.venue-map-container .image.featured {
    width: calc(2 * 450px + 2em); /* Match venue gallery width exactly */
    max-width: 932px;
    margin: 0 0 1em 0;
}

.venue-map-container .caption {
    text-align: center;
    font-style: italic;
    color: #666;
    margin-top: 0.5em;
}

@media screen and (max-width: 980px) {
    .venue-map-container .image.featured {
        width: 100%;
    }
}

/* Fix mobile sticky button click issue: ensure buttons sit above #titleBar */
@media screen and (max-width: 980px) {
	.sticky-buttons {
		z-index: 10005; /* #titleBar has z-index 10001 */
	}
}