
/* BOX SIZING */
*, *:before, *:after { -moz-box-sizing: border-box;  -ms-box-sizing: border-box; -o-box-sizing: border-box; -webkit-box-sizing: border-box;  box-sizing: border-box; }

/* NORMALIZE */
article,aside,details,figcaption,figure,footer,header,hgroup,nav,section,summary{display:block}audio,canvas,video{display:inline;zoom:1}audio:not([controls]){display:none;height:0}[hidden]{display:none}html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}html,button,input,select,textarea{font-family:sans-serif}a:focus{outline:0}a:active,a:hover{outline:0}h1{font-size:2.2em;margin:.67em 0}h2{font-size:1.7em;margin:2em 0 .5em 0}h3{font-size:1.5em;margin:1.5em 0 0.5em 0}h4{font-size:1.2em;margin:1.33em 0}h5{font-size:.83em;margin:1.67em 0}h6{font-size:.75em;margin:2.33em 0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}blockquote{margin:1em 40px}dfn{font-style:italic}mark{background:#f3f34a;color:#000}code,kbd,pre,samp{font-family:monospace, serif;_font-family:'courier new', monospace;font-size:1em}pre{white-space:pre-wrap;word-wrap:break-word}q{quotes:none}q:before,q:after{content:none}small{font-size:75%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}dd{margin:0 0 0 40px}menu,ol,ul{padding:0 0 0 40px}nav ul,nav ol{list-style:none;list-style-image:none}img{border:0;-ms-interpolation-mode:bicubic}svg:not(:root){overflow:hidden}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;white-space:normal;margin-left:-7px;padding:0}button,input,select,textarea{font-size:100%;vertical-align:middle;margin:0}button,input{line-height:normal}button,html input[type=button],/* 1 */
input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer;overflow:visible}button[disabled],input[disabled]{cursor:default}input[type=checkbox],input[type=radio]{box-sizing:border-box;height:13px;width:13px;padding:0}input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}textarea{overflow:auto;vertical-align:top}table{border-collapse:collapse;border-spacing:0}body,figure,form{margin:0}p,pre,dl,menu,ol,ul{margin:0 0 1em 0}

		
body { 
  font-family: 'Lato', Helvetica, Arial, "Lucida Grande", sans-serif;
  font-weight: 400;
  font-size: 18px;
  line-height: 26px;
  color: #000000;
  -webkit-text-size-adjust: none;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased; 
  background-image: url(/images/maze.png);
  background-size: 600px;
  background-color: #d2e52c;
  margin: 0;
  padding: 0 0 180px 0;
  text-align: center;
}

img { max-width: 100%; height: auto; }

/* APP TOUCH HIGHLIGHT */
input,
textarea,
button,
select,
a {
  -webkit-tap-highlight-color: rgba(0,0,0,0);
}

.lh-1 { line-height: 1em; }
.no-wrap { white-space: nowrap; }

a {   
	color: #1b333d;
	font-weight: 900; 
	text-decoration: none;
}
a:hover { color: #486d7d; }

.excerpt a {
	border-bottom: dashed 1px #486d7d;
}
.excerpt a:hover { border-bottom: solid 1px #486d7d; }


.button { 
	padding: 16px;
	display: inline-block; 
	line-height: 30px; 
	font-weight: 900;
	color: #fff !important; 
	background-color: #0c3d54; 
	border: none;
	border-radius: 2px; 
	text-decoration: none; 
	overflow: hidden; 
	white-space: nowrap; 
	margin: 0 auto; 
	text-transform: uppercase;
	transition: background 0.25s;
	font-size: 0.9em;
	line-height: 1em;
}	
.button:hover { background-color: #235770; }	

label
{
	font-size: 0.8em;
	font-weight: 900;
}
	
.max-width-1200 { max-width: 1200px; margin: 0 auto; }
.max-width-1000 { max-width: 1000px; margin: 0 auto; }
.max-width-980 { max-width: 980px; margin: 0 auto; }
.max-width-900 { max-width: 900px; margin: 0 auto; }
.max-width-800 { max-width: 800px; margin: 0 auto; }
.max-width-720 { max-width: 720px; margin: 0 auto; }
.max-width-700 { max-width: 700px; margin: 0 auto; }
.max-width-600 { max-width: 600px; margin: 0 auto; }
.max-width-500 { max-width: 500px; margin: 0 auto; }
.max-width-480 { max-width: 480px; margin: 0 auto; }
.max-width-400 { max-width: 400px; margin: 0 auto; }

.ta-left { text-align: left; }
.ta-center { text-align: center; }
.ta-right { text-align: right; }


h1 {
	font-size: 2em;
	font-weight: 900;
	margin: 20px 0 10px 0;	
	line-height: 1em;
}

h2 {
	font-size: 1.5em;
	margin: .83em 0; 
}

h3 {
	font-size: 1.17em;
	margin: 1em 0; 
}

h4 {
	font-size: 1em;
	margin: 1.33em 0; 
}

h5 {
	font-size: .83em;
	margin: 1.67em 0;
}

h6 {
	font-size: .75em;
	margin: 2.33em 0; 
}
  
  		
.cf:before, .cf:after { content: " "; display: table; }
.cf:after { clear: both; }

hr { background: rgba(255,255,255,0.3); height: 1px; border: none; margin: 20px 0; }

.pad-s { padding: 5px; }
.pad-m { padding: 10px; }
.pad-l { padding: 20px; }
.pad-xl { padding: 40px; }

.pad-top-s { padding-top: 5px; }
.pad-top-m { padding-top: 10px; }
.pad-top-l { padding-top: 20px; }
.pad-top-xl { padding-top: 40px; }
  
.pad-bot-s { padding-bottom: 5px; }
.pad-bot-m { padding-bottom: 10px; }
.pad-bot-l { padding-bottom: 20px; }
.pad-bot-xl { padding-bottom: 40px; }
  
 .badge
 {
	text-transform: uppercase; 
	font-size: 0.8em; 
	font-weight: 900; 
	background: #b1c309; 
	color: #fff !important;
	padding: 5px 15px; 
	border-radius: 5px; 
	display: inline-block;
	white-space: nowrap;
	text-overflow: ellipsis;
	overflow: hidden;
 }
 
 .fs-0-9 { font-size: 0.9em; line-height: 1em; }
 .fs-0-8 { font-size: 0.8em; line-height: 1em; }
 .fs-0-7 { font-size: 0.7em; line-height: 1em; }
 
 .box 
{ 
	box-shadow: 0 2px 2px #d9d8d8; 
	padding: 20px 20px 40px 20px; 
	margin-bottom: 20px;
	background: #fff;
}

.box header 
{ 
	margin: -20px -20px 20px -20px; 
	text-transform: uppercase; 
	padding: 10px 20px; 
	font-weight: 900; 
	font-size: 1.1em;
	color: #065783;
	display: flex;
	align-items: center;
	justify-content: space-between;
	background-color: #efefef;	
}
	
.box form { margin: 0px; padding: 0px; }

input[type=text] { padding: 10px; color: #065783; }

.flex-wrap
{
	display: flex;
	flex-wrap: wrap;
}

.ai-center { align-items: center; }
.j-center { justify-content: center; }

.gap-s { gap: 5px; }
.gap-m { gap: 10px; }
.gap-l { gap: 20px; }
.gap-x; { gap: 40px; }

.hg-nav-wrap
{
	background-size: cover;
	background-position: center center;
	background-image: url(/images/hal-scream.jpg);
	background-repeat: no-repeat;
	background-color: #24bbdd;
	padding-top: 350px;
}

.hg-nav {
	padding: 20px;
	background-color: rgba(0,0,0,0.5);
	text-align: left !important;
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
	color: #fff !important;
	margin-bottom: 20px;
	justify-content: center;
	border-bottom: solid 5px #2bd;
}
.hg-nav a { 
	color: #fff !important; 
	text-decoration: none; 
	padding: 10px 15px; 
	background: rgba(255,255,255,0.2); 
	border-radius: 3px; 
	font-weight: 900; 
	text-transform: uppercase;
	font-size: 1.2rem;
	line-height: 1rem;
}

.hg-nav a.selected {  color: #1b87a0 !important; background: #d2e52c; }

.hg-nav-mobile { 
	display: none; 
	justify-content: space-between;
	padding: 10px;
	background-color: #24bbdd;
	background-size: cover;
	background-position: center center;
	align-items: center;
}
.hg-nav-mobile .menu { 
	padding: 5px 10px; 
	background: rgba(0,0,0,0.3); 
	color: #24bbdd; 
	font-size: 0.8em; 
	text-transform: uppercase; 
	border-radius: 2px; 
	line-height: 1em;
}

.hg-nav-mobile .menu .line {
  fill: none;
  stroke: white;
  stroke-width: 6;
  transition: stroke-dasharray 600ms cubic-bezier(0.4, 0, 0.2, 1),
    stroke-dashoffset 600ms cubic-bezier(0.4, 0, 0.2, 1);
}
.hg-nav-mobile .menu .line1 {
  stroke-dasharray: 60 207;
  stroke-width: 6;
}
.hg-nav-mobile .menu .line2 {
  stroke-dasharray: 60 60;
  stroke-width: 6;
}
.hg-nav-mobile .menu .line3 {
  stroke-dasharray: 60 207;
  stroke-width: 6;
}
.hg-nav-mobile.visible .line1 {
  stroke-dasharray: 90 207;
  stroke-dashoffset: -134;
  stroke-width: 6;
}
.hg-nav-mobile.visible .line2 {
  stroke-dasharray: 1 60;
  stroke-dashoffset: -30;
  stroke-width: 6;
}
.hg-nav-mobile.visible .line3 {
  stroke-dasharray: 90 207;
  stroke-dashoffset: -134;
  stroke-width: 6;
}


@media (max-width: 800px)
{
	.hg-nav { display: none; }
	.hg-nav.visible { display: block; line-height: 1.1em; }
	.hg-nav-mobile  { display: flex; }
	.hg-nav a { display: inline-block; font-size: 0.8em; padding: 7px 14px; margin: 5px; white-space: nowrap; }
	.hg-nav-wrap { padding-top: 120px; }
}

.ad-placement
{
	margin: 20px auto; 
	max-width: 900px;
	text-align: center;
	padding: 20px;
}

.headline
{
	max-width: 700px;
	text-align: left;
	margin: 0 auto 20px auto;
	border-bottom: solid 2px #2a4d5c;
	padding: 20px;
}
.headline .excerpt { font-size: 0.9em; line-height: 1.2em; }

.yt-block
{
	display: inline-block;
	padding: 10px 10px 5px 10px; 
	background: #fff; 
	box-shadow: 0 3px 10px rgba(0,0,0,0.5); 
	border-radius: 2px;
	margin: 10px;
}

.google-ad { max-width: 1200px; margin: 20px auto; padding: 20px; }
.hide { display: none; }


.timeline-item {
    padding-top: 100px;
    padding-bottom: 50px;
    position: relative;
    text-align: center;
    font-size: 0.9em;
}

.timeline-item-location
{
	text-transform: uppercase; 
	padding-bottom: 5px; 
	font-size: 0.6em;
	font-weight: 900;
}

.timeline-item-data img 
{ 
	border: solid 5px #fff; 
	box-shadow: 0 0 10px rgba(0,0,0,0.3); 
}

.timeline-item-data
{
	padding-top: 20px;
	display: flex;
	gap: 40px;
}

.timeline-item-image
{
	flex: 1 1 700px;
	padding: 20px; 
}

.timeline-item-data-text { text-align: left; flex: 1 1 50%; padding: 20px 10px 0 10px; }
.timeline-item-data.uno-reverse { flex-direction: row-reverse; }
.timeline-item-data.uno-reverse .timeline-item-data-text { }

@media (max-width: 800px)
{
	.timeline-item-data { display: block; }
}

.type-funny .timeline-item-data { display: block; }
.type-funny .timeline-item-image { max-width: 400px; margin: 0 auto -20px auto; }
.type-funny .timeline-item-data-text { text-align: center; max-width: 500px; margin: 0 auto; }


.timeline-item-date {
    position: absolute;
    font-size: 16px;
    top: 75px;
    left: 50%;
    margin-left: 10px;
    right: 0;
    color: #2a4d5c;
    color: rgba(42, 77, 92, 0.5);
    text-transform: uppercase;
    text-align: left;
    transition: color 0.25s;
    font-weight: 900;
    line-height: 1em;
}

.timeline-item:before {
    width: 10px;
    height: 90px;
    background: #2a4d5c;
    background: rgba(42, 77, 92, 0.5);
    position: absolute;
    content: " ";
    top: 0;
    left: 50%;
    margin-left: -5px;
}

.timeline-item-title { font-size: 1.7em; font-weight: 900; line-height: 1em; }
.timeline-item-subtitle { font-size: 1.2em; line-height: 1em; padding: 10px 0; }
.timeline-item-desc { font-size: 0.9em; line-height: 1.3em; padding: 10px 0; }
.timeline-item-clients { font-size: 0.8em; line-height: 1.3em; padding: 10px 0; }



#vids, .vids { 
	display: flex; 
	flex-wrap: wrap;
	padding: 0 20px; 
	justify-content: center;
	gap: 10px;
}

#vids a, .vids a { 
	flex: 1 1 300px; 
	border-radius: 10px; 
	background: transparent;
	position: relative; 
	overflow: hidden;
	display: block;
	background: #fff;
	transition: background 0.25s;
	max-width: 300px;
}
#vids a:hover,
.vids a:hover
{
	background: #616161;
}
#vids a:hover img,
.vids a:hover img { border: solid 5px #616161;  }

#vids a img,
.vids a img
{
	position: relative; 
	height: auto; 
	max-width: 100%; 
	z-index: 50; 
	display: block; 
	border-radius: 10px; 
	border: solid 5px #fff; 
}

#vids a .title,
.vids a .title { 
	position: absolute; 
	z-index: 100; 
	bottom: 0; left: 0; right: 0;  
	text-align: left; 
	font-weight: 900; 
	background-color: #efefef;
	padding: 5px 15px; 
	color: #000; 
	white-space: nowrap; 
	text-overflow: ellipsis; 
	overflow: hidden;
	font-size: 0.9em;
	display: block;
	box-shadow: 0 -5px 5px rgba(0,0,0,0.2);
	border-bottom-left-radius: 10px;
	border-bottom-right-radius: 10px;
}

.youtube-sub
{
	display: inline-block; padding: 10px 10px 5px 10px; background: #fff; margin: 0 0 20px 8px; box-shadow: 0 3px 10px rgba(0,0,0,0.5); border-radius: 2px;
}

.ad-slider
{
	display: flex;
	flex-wrap: nowrap;
	overflow-x: scroll;
	justify-content: center;
	padding: 0 20px 20px 20px; 
	max-width: 1000px;
	margin: 0 auto 40px auto;
	gap: 10px;
}
.ad-slider-title { text-transform: uppercase; font-size: 13px; padding-bottom: 5px; margin-top: 40px; font-weight: 900; }

.ad-slider .ad 
{
	flex: 0 1 300px;
	background: #fff; 
	border: solid 3px #fff; 
	border-radius: 4px;
	padding: 3px;
	
}
.ad-slider a { display: block; padding: 0; margin: 0;  }
.ad-slider .ad img { display: block; width: 100%; height: auto; }

@media (max-width: 800px)
{
	.ad-slider { justify-content: flex-start; }
	.ad-slider .ad 
	{
		flex: 0 0 40%;
		padding: 1px;
	}
}