body, button, input, a, span, textarea {
/*	font-family: 'Cutive' !important;*/
}
body {
	background-color: #edeef0 !important;
	overflow-x: hidden;
}
html, body {
  margin: 0;
  padding: 0;
  width: 100%;
  overflow-x: hidden; /* Prevent horizontal scrolling */
}

@font-face {
  font-family: 'Cursive'; /* Your custom name for the font */
  src: url('/fonts/Priestacy.otf') format('opentype');
  font-weight: normal;
  font-style: normal;
}

.cursive-font {
	font-family: 'Cursive' !important;
}
.plain-font {
	font-family: 'EB Garamond' !important;
}
a {
	text-decoration: none !important;
}
textarea:focus, 
textarea.form-control:focus,
input.form-control:focus, 
input[type=text]:focus, 
input[type=password]:focus, 
input[type=email]:focus, 
input[type=number]:focus, 
[type=text].form-control:focus, 
[type=password].form-control:focus, 
[type=email].form-control:focus, 
[type=tel].form-control:focus, 
[contenteditable].form-control:focus {
  box-shadow: inset 0 -1px 0 #ddd;
  outline: none !important;
}
::-webkit-scrollbar {
    width: 7px;
    height: 7px;
}
/* Track */
::-webkit-scrollbar-track {
    background: #ccd2db; 
}
/* Handle */
::-webkit-scrollbar-thumb {
    background: #6d7075; 
    border-radius: 5px
}
/* Handle on hover */
::-webkit-scrollbar-thumb:hover {
    background: #232324; 
}
.pointer {
	cursor: pointer !important;
}
td {
	vertical-align: middle !important;
}
textarea {
	resize: none !important;
}
.paragraph {
	white-space: pre-wrap;
}
.nowrap {
	white-space: nowrap;
}
.btn-yes {
	background-color: #c7a485 !important;
	color: white !important;
}
.btn-yes:hover {
	background-color: #ab8e74 !important;
}
.btn-no {
	background-color: #5A6168 !important;
	color: white !important;
}
.btn-no:hover {
	background-color: #474c52 !important;
}
input, textarea, select {
	border-color: #c5a173 !important;
}
.swal-title {
	font-size: 18px !important;
}
.swal-subtitle {
	font-size: 14px !important;
}
.swal-subtitle-validation {
	font-size: 14px !important;
	text-align: left !important
}
.swal-okay-button {
	font-size: .7em !important;
	padding: 10px;
	width: 45% !important;
}
.bg-primary {
	background-color: #FCF4EC !important;
	color: #42566B !important;
}
.bg-secondary {
	background-color: #FBFFFF !important;
	color: #494B50 !important;
}
@media only screen and (max-width: 768px) {
	.tag-line {
		font-size: 2em;
	}
	.subtitle {
		font-family: 'Montserrat';
		font-size: 1em;
	}
	.regular {
		font-size: 1.4em !important;
	}
	.small {
		font-size: 1.2em !important;
	}
	.smaller {
		font-size: 1em !important;
	}
	.big {
		font-size: 1.5em !important;
	}
	.bigger {
		font-size: 2em !important;
	}
	.colors {
		height: 60px;
	}
	.guest-swatch, .sponsor-swatch {
		height: 200px;
	}
	.monogram {
		height: 150px;
	}
	.upload-box {
		width: 330px;
		height: 180px;
	}
	#preview {
		height: 178px;
	}
}
@media only screen and (min-width: 769px) {
	.tagline-div {
		height: 100vh;
	}
	.tag-line {
		font-size: 4em;
	}
	.subtitle {
		font-family: 'Montserrat';
		font-size: 1.2em;
	}
	.regular {
		font-size: 1.8em !important;
	}
	.small {
		font-size: 1.5em !important;
	}
	.smaller {
		font-size: 1.2em !important;
	}
	.big {
		font-size: 2em !important;
	}
	.bigger {
		font-size: 2.4em !important;
	}
	.colors {
		height: 100px;
	}
	.guest-swatch, .sponsor-swatch {
		height: 300px;
	}
	.monogram {
		height: 300px;
	}
	.code-input {
		width: 400px;
	}
	.upload-box {
		width: 530px;
		height: 300px;
	}
	#preview {
		height: 295px;
	}
}
.carousel-control-prev-icon,
.carousel-control-next-icon {
  height: 50%;
  width: 50%;
  background-size: 100%, 100%;
}

.carousel-control-prev-icon {
	background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E") !important;
	filter: invert(100%);
}

.carousel-control-next-icon {
	background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E") !important;
	filter: invert(100%);
}

.square-container {
	position: relative;
	width: 100%;
  	height: 0;
	padding-top: 56.25%; /* 16:9 aspect ratio (9 / 16 = 0.5625) */
	overflow: hidden;
	display: flex;
	justify-content: center;
}

.square-container img {
	position: absolute;
	top: 0;
	left: 50%; /* Start at the center */
	transform: translateX(-50%); /* Center the image exactly */
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.image-stack {
	position: relative;
	width: 250px;
	height: 250px;
	margin: 20px auto;
}

.image-stack img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.3s ease, opacity 0.3s ease;
	border-radius: 5px;
	box-shadow: 5px 10px 11px -4px rgba(0,0,0,0.45);
	-webkit-box-shadow: 5px 10px 11px -4px rgba(0,0,0,0.45);
	-moz-box-shadow: 5px 10px 11px -4px rgba(0,0,0,0.45);
}

.image-stack img:nth-child(1) {
	transform: translate(10px, 10px) rotate(3deg);
	opacity: 0.8;
}

.image-stack img:nth-child(2) {
	transform: translate(5px, 5px) rotate(1deg);
	opacity: 0.9;
}

.image-stack img:nth-child(3) {
	transform: translate(0px, 0px) rotate(0deg);
	opacity: 1;
}

.image-stack:hover img {
	transform: translate(0, 0) rotate(0deg);
	opacity: 1;
	cursor: pointer;
}

.faq {
	text-align: left;
	border-bottom: 1px solid #ccc;
}

.faq a {
	text-decoration: none;
	color: #494B50;
}
.code-input {
	text-align: center;
}
.upload-box {
	border: 2px dashed #ccc;
	border-radius: 8px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	cursor: pointer;
	transition: border-color 0.3s;
	background: white;
}

.upload-box:hover {
 	border-color: #42566B; /* highlight color */
}

.upload-box input {
 	display: none;
}

.upload-box svg {
	width: 40px;
	height: 40px;
	margin-bottom: 10px;
	fill: #42566B;
}

.upload-box p {
	margin: 0;
	font-weight: bold;
	color: #42566B;
}