/*  ==========================================================================
	INDIE.WEB CUSTOM STYLES
	==========================================================================  */

/*  GENERAL ---------- */

html {
	font-family: Georgia, 'Times New Roman', Times, serif;
	font-weight: 400;
	color: #405a67;
}

::-moz-selection {
	background: #b3d4fc;
}

::selection {
	background: #b3d4fc;
}

.flex-container > img {
	-ms-flex-item-align: center;
	-ms-grid-row-align: center;
	align-self: center;
}

/*
.box-wrap {
    position: relative;
	height: 0;
	padding-bottom: 100%;
}

.shadow {
    box-shadow: 0 0 15px rgba(0,0,0,0.25);
}

.shadow:hover {
    box-shadow: 0 0 15px rgba(0,0,0,0.5);
}

.img-wrap {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    overflow: hidden;
}

.img-wrap img {
    position: relative;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: 50% 0;
    object-position: 50% 0;
}

/*	Slick Carousel --- */

/*	Pager */

.slick-dots li button:before {
    color: #fff; /* general color for slick-dots - banner slick-dots set in media queries */
}


/*	Responsive Video --- */

.responsive-video {
    position: relative;
    width: 100%;
    height: 0;
    padding-bottom: 56.25%;
}

.responsive-video iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: none;
}


/*	TEXT STYLES ------ */

h1,
h2,
h3,
h4,
h5,
h6 {
	font-family: 'PT Sans Narrow', sans-serif;
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: normal;
	margin: 30px 0;
}

p {
	margin: 15px 0;
}

blockquote {
	margin: 30px 0;
	border-left: solid 7.5px;
	text-align: left;
	font-size: 1.25em;
	font-style: italic;
}

main p:last-child {
	margin-bottom: 30px;
}

main ul {
	padding-left: 45px;
}

hr {
	margin: 15px 0;
/*	border-top-color: ; */
}


/*	LINK STYLES ------ */

/*	GLOBAL --- */

a:link,
a:visited,
a:hover,
a:active {
	color: #7497a9;
	text-decoration: underline;
}

a:hover {
	color: #131b1e;
}

a.link-button:active,
a.link-button:hover,
a.link-button:link,
a.link-button:visited {
    display: inline-block;
    padding: 0 30px;
    line-height: 45px;
    text-decoration: none;
	white-space: nowrap;
    background-color: #577a8b;
	font-weight: 400;
	color: #fff;
}

a.link-button:hover {
    background-color: #131b1e;
    color: #fff;
}

.toll-free-number {
	text-transform: uppercase;
}


/*	SECTIONS ---------- */

/*	Background Dark ------ */

.bg-dark {
	background-color: #131b1e;
	color: #fff;
}

.bg-dark a:active,
.bg-dark a:hover,
.bg-dark a:link,
.bg-dark a:visited {
	color: #7497a9;
}

.bg-dark a:hover {
	color: #bdcdd6;
}


/*	Background Mid Dark ------ */

.bg-mid-dark {
	background-color: #293a43;
	color: #fff;
}

.bg-mid-dark a:active,
.bg-mid-dark a:hover,
.bg-mid-dark a:link,
.bg-mid-dark a:visited {
	color: #7497a9;
}

.bg-mid-dark a:hover {
	color: #bdcdd6;
}

.bg-mid-dark a.link-button {
	color: #fff;
}

/*	Background Medium ------ */

.bg-medium {
	background-color: #405a67;
	color: #fff;
}

.bg-medium a:active,
.bg-medium a:hover,
.bg-medium a:link,
.bg-medium a:visited {
	color: #7497a9;
}

.bg-medium a:hover {
	color: #bdcdd6;
}


/*	Background Mid Light ------ */

.bg-mid-light {
	background-color: #577a8b;
	color: #fff;
}

.bg-mid-light a:active,
.bg-mid-light a:hover,
.bg-mid-light a:link,
.bg-mid-light a:visited {
	color: #293a43;
}

.bg-mid-light a:hover {
	color: #040506;
}


/*	Background Light ------ */

.bg-light {
	background-color: #7497a9;
	color: #fff;
}

.bg-light a:active,
.bg-light a:hover,
.bg-light a:link,
.bg-light a:visited {
	color: #293a43;
}

.bg-light a:hover {
	color: #040506;
}


/*	Background Image ------ */

/*
.bg-wrap {
    background-position: 50% 50%;
}

.parallax-window:before {
	content: '';
	position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
	overflow: hidden;
	background-color: ;
	background-size: cover;
	background-repeat: no-repeat;
}
*/

/*	HEADER ---------- */

/*	NAV ------ */

#nav-container,
#nav-collapse,
nav li ul li {
    background: #131b1e;
}

#nav-container {
	z-index: 3000; /* compete with Slick Carousel items */
	box-shadow: 0 0 15px rgba(0,0,0,0.5);
}

#nav-icon span,
#nav-icon span:before,
#nav-icon span:after {
	background: #bdcdd6;
}

nav a:link,
nav a:visited,
nav a:hover,
nav a:active,
#nav-container [id^=phone] {
	color: #bdcdd6;
}

nav a:hover,
nav .selected>a,
#nav-container [id^=phone]:hover {
	color: #fff;
}


/*	BANNER ------ */

#banner .bg-wrap {
	background-color: #405a67; /* in case image fails to load */
}

#banner .txt-wrap .title {
	font-family: 'PT Sans Narrow', sans-serif;
	font-weight: 400;
	text-transform: uppercase;
}

#banner .txt-wrap .subtitle {
	font-weight: 400;
}
/*
#banner .link-button {
    background-color: ;
	color: ;
}

#banner .link-button:hover {
    background-color: ;
    color: ;
}
*/

/*	FOOTER ---------- */

/*	FOOTER TOP ------ */

#footer-logo {
	max-width: 240px;
	margin: 30px 0;
}

#social {
	margin-left: -15px;
	margin-right: -15px;
}

#social a {
	text-decoration: none;
	display: block;
}

#social a i {
	display: block;
	border-radius: 50%;
	padding: 15px;
}

ul.contact-info {
	list-style-type: none;
	padding: 0;
}

ul.contact-info li {
	margin: 30px 0;
}

ul.contact-info i {
	padding-right: 15px;
}

ul.contact-info a {
	text-decoration: none;
}

#footer-top .toll-free-number {
    font-size: 0.75em;
}


/*	FOOTER BOTTOM ------ */

#footer-bottom a {
	text-decoration: none;
}


/*  FORMS ---------- */

input,
select,
textarea {
	background: #f5f5f5;
}

input[type=submit] {
	background: #405a67;
	color: #fff;
}

input[type=submit]:hover {
	background: #131b1e;
}


/*  FORM BROWSER RESETS ------ */

/*	customise Chrome form-field focus outline */
input:focus,
select:focus,
textarea:focus {
	outline: #222 1px solid !important;
}
/* */


/*  PLACEHOLDERS ------ */

/*  Placeholders (Standard) --- */

::-webkit-input-placeholder {
	color: #b8b8b8;
	opacity: 1;
}
:-moz-placeholder {
	color: #b8b8b8;
	opacity: 1;
}
::-moz-placeholder {
	color: #b8b8b8;
	opacity: 1;
}
:-ms-input-placeholder {
	color: #b8b8b8;
}
:placeholder {
	color: #b8b8b8;
}

/*  Placeholders :focus --- */

:focus::-webkit-input-placeholder {
	color: #999;
}
:focus:-moz-placeholder {
	color: #999;
}
:focus::-moz-placeholder {
	color: #999;
}
:focus:-ms-input-placeholder {
	color: #999;
}
:placeholder {
	color: #999;
}

/*	FORM ERRORS ------ */

input.error,
select.error,
textarea.error {
	background: #ffebeb;
}

select.error {
	color: #ff3b3b;
}

/*  Placeholders (Error) --- */

.error::-webkit-input-placeholder {
	color: #ff7676;
	opacity: 1;
}
.error:-moz-placeholder {
	color: #ff7676;
	opacity: 1;
}
.error::-moz-placeholder {
	color: #ff7676;
	opacity: 1;
}
.error:-ms-input-placeholder {
	color: #ff7676;
}
.error:placeholder {
	color: #ff7676;
}

/*  Placeholders (Error) :focus --- */

.error:focus::-webkit-input-placeholder {
	color: #ff3b3b;
}
.error:focus:-moz-placeholder {
	color: #ff3b3b;
}
.error:focus::-moz-placeholder {
	color: #ff3b3b;
}
.error:focus:-ms-input-placeholder {
	color: #ff3b3b;
}
.error:placeholder {
	color: #ff3b3b;
}


/*	CSS TRANSITIONS ---------- */

a:link,
a:visited,
a:hover,
a:active,

input,
input:hover {
	-webkit-transition: all 0.25s ease;
	transition: all 0.25s ease;
}


/*  PAGES ---------- */

/*	BOARD + STAFF ------ */

.avatar {
	margin-top: 30px;
	border-radius: 50%;
}


/*  FAQs ------ */

#faq > * {
	padding-top: 15px;
}

.faq {
	height: 100%;
	padding: 15px 30px;
}

.answer p:first-child:before {
	content: 'A: ';
}


/*	TESTIMONIALS ------ */

.testimonial {
	margin: 30px 0;
}

.testimonial p:last-child {
	margin-bottom: 15px;
}


/*	SPONSORS ------ */

#sponsors-wrap > * {
	padding: 15px !important;
}

#sponsors-wrap img {
	margin: 15px auto 0;
}

#sponsors-wrap p {
	margin-bottom: 15px;
}


/*  CONTACT ------ */

#google-map {
    position: relative;
    width: 100%;
    height: 0;
    padding-bottom: 25%;
}

#google-map iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
}


/*  ==========================================================================
	INDIE.WEB CUSTOM MEDIA QUERIES
	==========================================================================  */

/*	Screen Sizes 240px and smaller ---------- */
@media only screen 
and (max-width : 240px) {

	/*	GENERAL ---------- */

	/*	TEXT STYLES ------ */

	blockquote {
		padding: 0 15px;
	}


	/*	HEADER ---------- */

	/*	BANNER ------ */

	#banner {
		background-color: #fff; /* match page background color for mobile */
	}

	/*	Carousel --- */

	.slick-arrow {
		padding: 0 15px;
	}

	/*	Pager */

	#banner .slick-dots li button:before {
		color: #405a67; /* dot color over page */
	}
	#banner .slick-dots.pos-abs li button:before {
		color: #fff; /* dot color over banner */
	}
	
	#banner .slick-dots li.slick-active button:before {
		color: #7497a9; /* active dot color over page */
	}
	#banner .slick-dots.pos-abs li.slick-active button:before {
		color: #7497a9; /* active dot color over banner */
	}


	/*	PAGES ---------- */
	
	/*	TESTIMONIALS ------ */

	.testimonial {
		padding: 15px;
	}

	.testimonial blockquote {
		margin: 15px 0;
	}

}


/*	Screen Sizes 240px - 400px ---------- */
@media only screen 
and (min-width : 240px)
and (max-width : 400px) {

	/*	PAGES ---------- */
	
	/*	TESTIMONIALS ------ */

	.testimonial {
		padding: 15px;
	}

	.testimonial blockquote {
		margin: 15px 0;
		padding: 0 15px;
	}

}


/*	Screen Sizes 240px - 960px ---------- */
@media only screen 
and (min-width : 240px)
and (max-width : 960px) {

	/*	GENERAL ---------- */

	/*	TEXT STYLES ------ */

	blockquote {
		padding: 0 30px;
	}

}


/*	Screen Sizes 240px and larger ---------- */
@media only screen 
and (min-width : 240px) {

	/*	HEADER ---------- */
	
	/*	BANNER ------ */

	/*	Carousel --- */

	.slick-arrow {
		padding: 0 30px;
	}

	/*	Pager */

	#banner .slick-dots li button:before {
		color: #fff; /* dot color over banner */
	}
	
	#banner .slick-dots li.slick-active button:before {
		color: #7497a9; /* active dot color over banner */
	}

}


/*	Screen Sizes 320px and smaller ---------- */
@media only screen 
and (max-width : 320px) {

	/*	PAGES ---------- */

	/*  CONTACT ------ */

	#google-map {
		padding-bottom: 100%;
	}

}


/* Screen Sizes	320px - 560px		--------- */
@media only screen 
and (min-width : 320px)
and (max-width : 560px) {

	/*	PAGES ---------- */

	/*  CONTACT ------ */

	#google-map {
		padding-bottom: 50%;
	}

}


/*	Screen Sizes 400px and smaller ---------- */
@media only screen 
and (max-width : 400px) {

	/*	MAIN ---------- */

	main ul.contact-info {
		text-align: center;
	}
	

	/*	FOOTER ---------- */

	#footer-top .inner > div:nth-child(2) {
		text-align: center;
	}

	#social {
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
	}

	#footer-top .inner > div:last-child {
		text-align: center;
	}

	#footer-top ul.contact-info .flex-container {
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
	}

	/*	Affects Contact page info also */
	ul.contact-info .flex-container {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
	}

	ul.contact-info i {
		padding-right: 0;
	}

	.icon-wrap {
		margin: 7.5px 0;
	}


	/*	PAGES ---------- */
	
	/*	TESTIMONIALS ------ */

	.testimonial blockquote {
		border: 0;
	}


	/*	SPONSORS ------ */

	#sponsors-wrap > * {
		width: 100%;
	}

}


/*	Screen Sizes 400px - 640px ---------- */
@media only screen 
and (min-width : 400px)
and (max-width : 640px) {

	/*	FOOTER ---------- */

	#footer-top .inner > div:nth-child(2) {
		text-align: left;
	}

	#footer-top #social {
		-webkit-box-pack: start;
		-ms-flex-pack: start;
		justify-content: flex-start;
	}

	#footer-top .inner > div:last-child {
		text-align: left;
	}

	#footer-top ul.contact-info .flex-container {
		-webkit-box-pack: start;
		-ms-flex-pack: start;
		justify-content: flex-start;
	}


	/*	PAGES ---------- */

	/*	SPONSORS ------ */

	#sponsors-wrap > * {
		width: 50%;
	}

	#sponsors-wrap img {
		width: 80%;
	}

}


/*	Screen Sizes 400px - 960px ---------- */
@media only screen 
and (min-width : 400px)
and (max-width : 960px) {

	/*	PAGES ---------- */

	/*	TESTIMONIALS ------ */

	.testimonial {
		padding: 15px 30px;
	}

}


/* Screen sizes 400px and larger ---------- */
@media only screen 
and (min-width : 400px) {

	/*	FOOTER ---------- */

	/*	FOOTER TOP ------ */

	#footer-top .contact-info .icon-wrap i {
		vertical-align: middle;
	}

}


/* Screen sizes 560px and smaller ---------- */
@media only screen 
and (max-width : 560px) {

	/*	HEADER ---------- */
	
	/*	BANNER ------ */
	
	#banner {
		max-height: calc(100vh - 60px);
	}

}


/* Screen Sizes 560px - 800px ---------- */
@media only screen
and (min-width : 560px)
and (max-width : 800px) {

	/*	HEADER ---------- */

	/*	BANNER ------ */
	
	#banner {
		max-height: calc(100vh - 75px);
	}


	/*	PAGES ---------- */

	/*  CONTACT ------ */

	#google-map {
		padding-bottom: 33.3333%;
	}

}


/*	Screen sizes 640px and smaller ---------- */
@media only screen 
and (max-width : 640px) {

	/*	PAGES ---------- */

	/*	BOARD + STAFF ------ */

	h1 + .section-mini > img {
		margin-top: 0;
	}

}


/*	Screen Sizes 640px and larger ---------- */
@media only screen
and (min-width : 640px ) {

	/*	FOOTER ---------- */

	#footer-top .inner > div:nth-child(2) {
		text-align: center;
	}

	#social {
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
	}

	#footer-top .inner > div:last-child {
		text-align: right;
	}

	#footer-top ul.contact-info .flex-container {
		-webkit-box-pack: end;
		-ms-flex-pack: end;
		justify-content: flex-end;
	}


	/*	PAGES ---------- */

	/*	BOARD + STAFF ------ */

	h1 + .section-mini > * {
		margin-top: 0;
	}

	/*	SPONSORS ------ */

	#sponsors-wrap > * {
		width: 33.333%;
	}

	#sponsors-wrap img {
		width: 75%;
	}
	
}


/*	Screen Sizes 800px and larger ---------- */
@media only screen
and (min-width: 800px) {

	/*	HEADER ---------- */

	/*	BANNER ------ */
	
	#banner {
		max-height: calc(100vh - 90px);
	}
	
}


/*	Screen Sizes 800px - 960px ---------- */
@media only screen 
and (min-width : 800px)
and (max-width : 960px) {

	/*	HEADER ---------- */

	/*	NAV ------ */

	/* provide more room for menu items */
/*	#phone-nav-ext {
		display: none;
	}
*/
}


/*	Screen Sizes 800px and larger ---------- */
@media only screen
and (min-width : 800px ) {

	/*	HEADER ---------- */

	/*	NAV ------ */

	/* sub-menu list */
/*	nav li ul {
		box-shadow: 0 0 15px rgba(0,0,0,0.5);
		clip: rect(0px, 300px, 1200px, -15px);
		-webkit-clip-path: inset(0 -15px -15px -15px);
		clip-path: inset(0 -15px -15px -15px);
	}
*/

	/*	BANNER ------ */

	#banner {
		max-height: calc(100vh - 90px);
	}

}


/*	Screen Sizes 960px and larger ---------- */
@media only screen 
and (min-width : 960px) {

	/*	GENERAL ---------- */

	/*	TEXT STYLES ------ */

	blockquote {
		padding: 0 60px;
	}

	/*	PAGES ---------- */

	/*	TESTIMONIALS ------ */

	.testimonial {
		padding: 15px 60px;
	}

}