/* 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;
}
.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;
}
.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;
	}
}