/* Elements */
body { background-color:#fff; color:#333; font-family:'Montserrat', sans-serif; font-size:16px; font-weight:400; line-height:1.6; }
p, h1, h2, h3, h4, h5, h6, ol, ul, pre, address, blockquote, dl, fieldset, hr, noscript, table { margin:0 0 30px 0; }
ol ol, ol ul, ul ul, ul ol { margin-bottom:0 }
h1, h2, h3, h4, h5, h6, .h1 { color:#0f2d52; font-family:'Roboto Condensed', sans-serif; font-weight:700; text-transform:uppercase; }
h1, .h1 { font-size:48px; line-height:1; }
h2 { font-size:36px; line-height:1.1; }
h3 { font-size:30px; line-height:1.2; }
h4 { font-size:24px; line-height:1.3; }
h5 { font-size:21px; line-height:1.4; }
h6 { font-size:18px; line-height:1.5; }
hr { background-color:#ddd; border-width:0; height:1px; }
img { height:auto; max-width:100%; }
a { color:#005496; text-decoration:underline; transition:color 0.6s; }
a:hover { color:#0f2d52; }
b, strong { font-weight:700; }

/* WordPress Classes */
.alignleft { float:left; margin:0 30px 30px 0; }
.aligncenter { display:block; margin:0 auto 30px; }
.alignright { float:right; margin:0 0 30px 30px; }

.wp-caption { max-width:100%; text-align:center; }
.wp-caption .wp-caption-text { font-size:14px; }

/* Helper Classes */
.half-bottom-margin { margin-bottom:15px; }
.no-bottom-margin { margin-bottom:0; }

.button, .frm_submit button { background-color:#ffd200; border-radius:3px; color:#0f2d52; font-size:0.8em; font-weight:700; letter-spacing:0.1em; max-width:100%; overflow:hidden; padding:1.2em 2em; text-align:center; text-overflow:ellipsis; text-transform:uppercase; transition:transform 0.3s; white-space:nowrap; }
.button:hover, .frm_submit button:hover { transform:scale(1.05); }
input.button, button.button, .frm_submit button { border-width:0; cursor:pointer; }
a.button { display:inline-block; text-decoration:none; }
.button i { margin-right:0.8em; }

.underline-button { border-bottom:3px solid #ffd200; color:#0f2d52; font-weight:700; max-width:100%; outline-width:0; overflow:hidden; padding:0.1em 0.1em 0.2em; text-overflow:ellipsis; transition:border-bottom-color 0.6s; white-space:nowrap; }
.underline-button::after { content:'\f105'; font-family:'Font Awesome 5 Pro'; font-weight:400; margin-left:0.6em; vertical-align:middle; }
.underline-button:hover { border-bottom-color:#0f2d52; }
input.underline-button { background-color:transparent; cursor:pointer; }
a.underline-button { display:inline-block; text-decoration:none; }

.underline-button.white { color:#fff; }
.underline-button.white:hover { border-bottom-color:#fff; }

.styled-list { display:inline-block; text-align:left; }
.styled-list, .styled-list ul { list-style-type:none; padding-left:1.2em; position:relative; }
.styled-list li { margin:6px 0; position:relative; }
.styled-list li:before { color:#ffd200; content:'\f105'; font-family:'Font Awesome 5 Pro'; font-weight:400; position:absolute; top:4px; left:-1.2em; line-height:1; }

.styled-table { border-collapse:collapse; width:100%; }
.styled-table tbody tr { transition:background-color 0.6s; }
.styled-table tbody tr:nth-of-type(odd) { background-color:#f8f8f8; }
.styled-table tbody tr:hover { background-color:#f2f2f2; }
.styled-table thead th, .styled-table tbody td { padding:6px 12px; }
.styled-table thead th { color:#0f2d52; line-height:1.2; vertical-align:top; }
.styled-table tbody td { font-size:14px; line-height:1.4; }

.responsive-table { margin-bottom:30px; overflow-x:auto; }
.responsive-table .styled-table { margin-bottom:0; }

.play-button { display:inline-block; overflow:hidden; position:relative; }
.play-button::after { background-color:rgb(15, 45, 82, 0.9); border-radius:50%; content:'\f04b'; color:#fff; font-family:'Font Awesome 5 Pro'; font-size:24px; font-weight:900; position:absolute; top:50%; left:50%; text-align:center; transform:translate(-50%, -50%); width:72px; height:72px; line-height:72px; animation:pulse 2s infinite; box-shadow:0 0 0 0 rgba(255, 255, 255, 1); }
.play-button img { display:block; transition:transform 0.6s; }
.play-button:hover img { transform:scale(1.05); }

.hover-zoom img { transition:transform 0.6s; }
.hover-zoom:hover img { transform:scale(1.05); }

/* Animations */
@keyframes pulse {
	0% {
		box-shadow:0 0 0 0 rgba(255, 255, 255, 0.8);
	}
	70% {
		box-shadow:0 0 0 12px rgba(255, 255, 255, 0);
	}
	100% {
		box-shadow:0 0 0 0 rgba(255, 255, 255, 0);
	}
}

@keyframes pulse-small {
	0% {
		box-shadow:0 0 0 0 rgba(255, 255, 255, 0.8);
	}
	70% {
		box-shadow:0 0 0 8px rgba(255, 255, 255, 0);
	}
	100% {
		box-shadow:0 0 0 0 rgba(255, 255, 255, 0);
	}
}

@keyframes spin {
	0% {
		transform:rotate(0deg);
	}
  	100% {
		transform:rotate(360deg);
	}
}