/* variables */
:root {
	--primary: #004b8d;
	--secondary: rgba(0, 75, 141, .25);
	--tertiary: #003366;
	--lt_blue: #2eace6;
	--yellow: #FBAA29;
	--err_yellow: #FEC631;
	--off_white: #F4F4F4;
	--white: #fff;
	--black: #000;
	--drk_gray: #585858;
	--lt_gray: #c9c9c9;
	--red: #cc0000;
	--green: #00853F;
	--modal: rgba(0, 75, 141, .90);
}

* {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
	outline: none;
	-webkit-tap-highlight-color: transparent;
}

a,
a:link,
a:visited,
a:hover,
a:active {
	color: var(--tertiary);
}

/* REM sizing is based off a 10px font size */
html {
	font-size: 10px;
	min-width: 320px;
}

@media screen and (max-width: 980px) {
	html {
		font-size: 9px;
	}
}

@media screen and (max-width: 768px) {
	html {
		font-size: 8px;
	}
}

@media screen and (max-width: 340px) {
	html {
		font-size: 45%;
	}
}

body,
p,
button,
input,
select {
	font-size: 1.6rem;
	border: none;
	font-family: Calibri, Arial, sans-serif;
	touch-action: manipulation;
	font-weight: normal;
	color: var(--black);
}

/* END */

#page {
	position: relative;
	min-height: 100vh;
	margin: 0;
}

main {
	padding-bottom: 20.5rem;
}

h1 {
	font-family: Calibri, Arial, sans-serif;
	font-size: 3.8rem;
}

h2 {
	font-size: 3.4rem;
}

h3 {
	font-size: 2.2rem;
}

h4 {
	font-size: 2rem;
}

h5 {
	font-size: 1.8rem;
}

span.break {
	display: block;
}

span.bold,
.bold {
	font-weight: bold;
}

span.no-bold,
.no-bold {
	font-weight: normal !important;
}

.italic {
	font-style: italic;
}

.symbol {
	margin-right: 3px;
}

.flex {
	display: flex;
	justify-content: space-around;
	align-items: center;
}

.flex-col {
	display: flex;
	flex-direction: column;
}

.left {
	justify-content: left;
}

.right {
	justify-content: right;
}

ul {
	list-style: none;
}

.blue-btn {
	background: var(--tertiary);
	color: var(--white);
	padding: .5rem 1rem;
	border: none;
	border-radius: 5px;
	cursor: pointer;
}

.blue-btn:hover {
	background: rgba(255, 0, 0, 0.75);
	border: 1px solid rgb(0, 0, 0);
	box-shadow: 0 4px 8px 0 rgba(255, 0, 0, 0.5);
}

.yellow-btn {
	font-weight: bold;
	background: var(--yellow);
	color: var(--tertiary);
	border: none;
	border-radius: 3px;
	padding: .3rem 1rem;
	cursor: pointer;
}

.show-more-btn {
	width: 16rem;
	margin: 1rem auto 0;
	color: var(--white);
}

.show-more-btn:hover {
	color: var(--white);
}

section {
	padding: 1.5rem 2rem 2rem;
}

.hide {
	display: none;
}

iframe {
	border: 3px solid #FAA31E;
	width: 500px;
	height: 281px;
}

hr {
	margin: 0 auto;
	width: 98%;
	height: 2px;
	background: var(--tertiary);
	border: none;
}

#address p {
	font-size: 1.4rem;
	margin: 0;
	color: var(--tertiary);
}

#address #addr-title {
	font-weight: bold;
}

.empty #emptyMsg,
.error #errorMsg {
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	font-size: 1.8rem;
	line-height: 1.8rem;
	margin: 0;
}

.empty #emptyMsg {
	color: var(--drk_gray);
}

.error #errorMsg,
.err-msg {
	color: var(--red);
}

#emptyMsg.center,
#errorMsg.center {
	justify-content: center;
	margin: 2rem 0;
}

.pi.pi-exclamation-circle,
.pi.pi-exclamation-triangle {
	font-weight: bold;
	font-size: 1.8rem;
	line-height: 1.8rem;
	justify-self: center;
	align-self: center;
	margin-right: 5px;
}

.err-msg,
.info-msg {
	display: block;
	font-size: 2rem;
	line-height: 2rem;
	font-weight: bold;
	margin: 0.25rem 0 0 1.1rem;
}

[id*="msgOrderComplete"] .info-msg {
	display: flex;
	justify-content: center;
	font-size: 2.4rem;
	line-height: 2.4rem;
	margin-top: 5rem;
	color: var(--green);
}

.err-msg.err-input {
	display: unset;
	font-size: 1.8rem;
	line-height: unset;
	margin: 0 0 0.5rem 0.5rem;
}

/************************************

        GLOBAL MOBILE STYLES

************************************/
@media screen and (max-width: 640px) {
	main {
		padding-bottom: 37rem;
	}

	h1 {
		font-size: 3.4rem;
	}

	h2 {
		font-size: 3.2rem;
	}

	iframe {
		width: 100%;
		height: auto;
		min-height: 304px;
	}
}