/*------------- Scale Input Text -------------*/

:root {
	--canvasScale: 1;
	--subtitleScale: 1;
}

.inputField[type="text"] {
	font-size: calc(30pt * var(--canvasScale));
	font-family: 'LatoBold';
	text-align: center;
	color: #3A5665;
	background: #fff;
	border: calc(5px * var(--canvasScale)) solid #3A5665;
	border-radius: calc(50px * var(--canvasScale));
}

.inputField[type="number"] {
	font-size: calc(24pt * var(--canvasScale));
	font-family: 'LatoBold';
	text-align: center;
	color: #3A5665;
	background: #fff;
	border: calc(1px * var(--canvasScale)) solid #0167cc;
	border-radius: calc(6px * var(--canvasScale));
}

/*------------- Mobile Input Text Sizing -------------*/

@media only screen and (min-device-width: 320px) and (max-device-width: 479px) {

	.inputField[type="text"] {
		font-size: calc(100pt * var(--canvasScale));
		border-radius: calc(150px * var(--canvasScale));
		border: calc(12px * var(--canvasScale)) solid #0167cc;
	}

	.inputField[type="number"] {
		font-size: calc(60pt * var(--canvasScale));
		border: calc(4px * var(--canvasScale)) solid #0167cc;
		border-radius: calc(35px * var(--canvasScale));
	}

}

@media only screen and (min-device-width: 480px) and (max-device-width: 640px) {
	.inputField[type="text"] {
		font-size: calc(50pt * var(--canvasScale));
		border: calc(15px * var(--canvasScale)) solid #0167cc;
	}

	.inputField[type="number"] {
		font-size: calc(30pt * var(--canvasScale));
		border: calc(5px * var(--canvasScale)) solid #0167cc;
		border-radius: calc(15px * var(--canvasScale));
	}

}


/*------------- chatBot Sizing -------------*/

.showChat #chatWindow,
.showChat #contactWrapper,
.showChat #dom_overlay_container,
.showChat #chat-body {
	position: fixed !important;
	width: 100vw !important;
	max-width: 600px !important;
	height: 100vh !important;
	max-height: 100vh !important;
	top: 0 !important;
	right: 0 !important;
	transform: none !important;
}

/*------------- CSS Variables for Scaling/Subtitles -------------*/

@property --canvasScale {
	syntax: '<number>';
	initial-value: 1;
}

@property --c1 {
	syntax: '<color>';
	inherits: false;
	initial-value: rgba(0, 0, 0, 0.9);
}

@property --c2 {
	syntax: '<color>';
	inherits: false;
	initial-value: rgba(0, 0, 0, 0.7);
}

/*------------- Subtitle Styles -------------*/

#currentSubtitle {
	position: absolute;
	right: 0;
	bottom: -1%;
	left: 0;
	align-content: center;
	opacity: 1;
	z-index: 1000;
	animation-duration: 3s;
	animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
	animation-iteration-count: 1;
	animation-name: fadeInOpacity;
	margin-inline: auto;
	background: linear-gradient(to top, var(--c1) 0%, var(--c2) 50%, transparent 100%);
	background-size: 100% 100%;
	padding: calc(40px * var(--canvasScale)) 0 calc(20px * var(--canvasScale));
	width: 100%;
	pointer-events: none;
	color: #fff;
	font-weight: 900;
	font-size: calc((20pt * var(--subtitleScale)) * var(--canvasScale));
	font-family: 'Lato', sans-serif;
	text-align: center;
}

@keyframes fadeInOpacity {
	0% {
		--c1: rgba(0, 0, 0, 0);
		--c2: rgba(0, 0, 0, 0);
	}

	100% {
		--c1: rgba(0, 0, 0, 0.9);
		--c2: rgba(0, 0, 0, 0.7);
	}
}

.ml7 {
	position: relative;
	text-align: center;
}

.ml7 .text-wrapper {
	display: inline-block;
	position: relative;
	max-width: 85%;
}

.ml7 .words {
	display: inline-block;
}

.ml7 .word {
	display: inline-block;
	white-space: nowrap;
	/* Prevents word splitting */
}

.ml7 .letter {
	display: inline-block;
	opacity: 0;
}

/*------------- Video Styles -------------*/

video {
	mix-blend-mode: screen;
	object-fit: cover;
	width: 100vw;
	height: 100vh;
	position: fixed;
	top: 0;
	left: 0;
	pointer-events: none;
}

/*------------- Font Embedding -------------*/

/* Regular */

@font-face {
  font-family: 'Lato';
  src: url('../fonts/Lato-Regular.woff') format('woff');
}

@font-face {
  font-family: 'Lato';
  src: url('../fonts/Lato-Regular.woff') format('woff');
  font-weight: 400;
}

/* Hairline */

@font-face {
  font-family: 'Lato';
  src: url('../fonts/Lato-Hairline.woff') format('woff');
  font-weight: 100;
}

/* Light */

@font-face {
  font-family: 'Lato Light';
  src: url('../fonts/Lato-Light.woff') format('woff');
}

@font-face {
  font-family: 'Lato';
  src: url('../fonts/Lato-Light.woff') format('woff');
  font-weight: 300;
}

/* Light Italic */

@font-face {
  font-family: 'Lato';
  src: url('../fonts/Lato-LightItalic.woff') format('woff');
  font-weight: 300;
  font-style: italic;
}

/* Bold */

@font-face {
  font-family: 'LatoBold';
  src: url('../fonts/Lato-Bold.woff') format('woff');
}

@font-face {
  font-family: 'Lato';
  src: url('../fonts/Lato-Bold.woff') format('woff');
  font-weight: 700;
}

/* Black */

@font-face {
  font-family: 'LatoBlack';
  src: url('../fonts/Lato-Black.woff') format('woff');
}

@font-face {
  font-family: 'Lato';
  src: url('../fonts/Lato-Black.woff') format('woff');
  font-weight: 900;
}