/*******************************************************************
  HTML, BODY, CONTAINER
*******************************************************************/

html {
	height: 100%;
}

body {
	background: #d6d6d6;
	font-family: Lato, Arial, sans-serif;
	font-size: 16px;
}

* {
	box-sizing: border-box;
	-moz-box-sizing: border-box;
}

#main {
	border-bottom: 4px solid #3A5996;
	box-shadow: 1px 1px 10px rgba(0,0,0,0.5);
	margin-top: 20px;
}

/*******************************************************************
  HEADINGS
*******************************************************************/

h1 {
	font-size: 28px;
}

#interior h1 {
	margin-bottom: 0;
}

h2 {
	font-size: 20px;
}

h1 + h2 {
	margin-top: -10px;
}

/*******************************************************************
  LINKS
*******************************************************************/

a {
	color: #3A5996;
}

a:hover {
	color: #2251af;
}

/*******************************************************************
  HEADER
*******************************************************************/

header {
	background: #87a3d2;
	min-height: 126px;
	padding: 5px 0;
	position: relative;
	text-align: center;
}

header img {
	display: inline-block;
	left: 0;
	position: absolute;
}

header #heading {
	border-bottom: 1px solid #000;
	font-family: Cormorant SC, Times, Arial, serif;
	font-size: 44px;
	font-weight: bold;
	line-height: 100px;
	position: relative;
}

header #heading:before {
    content:""; 
    display:block; 
    position:absolute; 
    left:0; 
    bottom: 3px; 
    width:100%; 
    height:3px;                          
    background:#000;
}

header #heading a {
	color: #000;
}

header #heading a:hover {
	color: #000;
	text-decoration: none;
}

header address {
	display: inline-block;
	font-size: 14px;
	margin: 0;
	position: absolute;
	right: 10px;
	top: 8px;
	text-align: right;
}

header address span {
	display: block;
}

header a,
header a:hover {
	color: #000;
	text-decoration: none;
}

header a span {
	display: block;
	margin: 0 auto;
	max-width: 360px;
}

/*******************************************************************
  NAVIGATION
*******************************************************************/

nav {
	background: #727274;
}

nav ul {
	list-style: none;
	margin: 0;
	padding: 15px;
	text-align: center;
}

nav ul li {
	display: inline-block;
}

nav ul li a,
nav ul li a:active,
nav ul li a:visited {
	color: #FFF;
	padding: 15px 20px;
	text-decoration: none;
}

nav ul li a:hover {
	background: #5e5e5e;
	color: #FFF;
	text-decoration: none;
}

/*******************************************************************
  MOBILE NAVIGATION (SLICK NAV)
*******************************************************************/

.slicknav_menu {
	display: none;
}

.slicknav_menu {
	background: transparent;
	padding: 0;
	position: relative;
	top: 5px;
}

.slicknav_menu .slicknav_btn {
	background: transparent;
	border-radius: 0;
	display: inline-block;
	float: none;
	padding: 15px;
	margin: 0;
}

.slicknav_menu .slicknav_btn .slicknav_menutxt {
	text-shadow: 1px 1px 1px #000;
}

.slicknav_nav a:hover {
	background: #6683b4;
	color: #FFF;
}

/*******************************************************************
  CONTENT
*******************************************************************/

.content {
	background: #FFF;
}

.content > p {
	display: none;
}

.contentHeader,
#interior h1 {
	background: #f6f6f6;
	border-bottom: 4px solid #3A5996;
	margin: 15px 0;
	padding: 15px;
	text-align: center;
}

#home .contentHeader h1 {
	margin: 0 0 15px 0;
}

#interior .contentHeader h1 {
	border-bottom: none;
	margin: 0;
	padding: 0;
}

.contentHeader p {
	margin: 0 0 5px 0;
}

.contentHeader p em {
	color: #868686;
}

body:not(#home) h1 + h2 {
	margin-top: 20px;
}

.divide {
	border-bottom: 1px solid #3A5996;
	margin-bottom: 15px;
	padding: 0 15px 15px 15px;
}

.divide.noborder {
	border-bottom: none;
}

/*******************************************************************
  SLIDESHOW (SLICK)
*******************************************************************/

.slideshow {
	padding: 15px 0px 15px 15px;
	position: relative;
	text-align: center;
}

.slideshow img {
	max-width: 100%;
}

.slideshow p {
	background: rgba(0,0,0,0.5);
	color: #FFF;
	margin: auto;
	padding: 5px;
	position: absolute; bottom: 0; left: 0; right: 0;
}

/*******************************************************************
  PHOTOS
*******************************************************************/

.photos {
	margin-bottom: 15px;
	text-align: center;
}

.photos img {
	max-width: 178px;
	width: 100%;
}

/*******************************************************************
  SUB CONTENT
*******************************************************************/

/* BUTTONBOX & PAYMENTS */

.buttonBox,
.payments {
	border-top: 1px solid #eaeaea;
	min-height: 84px;
	margin: 15px 0 0 0;
	padding: 20px 0 0 0;
	text-align: center;
}

.buttonBox--flex {
    align-items: center;
	display: flex;
    gap: 1rem;
    justify-content: center;
}

/* BUTTONBOX */
a.button,
.paypal-button input[type='submit'] {
	background: #3A5996;
	border: 0;
	color: #FFF;
	display: inline-block;
	padding: 8px 20px;
	text-align: center;
}

a.button:hover {
	background: #2251af;
	text-decoration: none;
}

a.button .fa {
	margin-right: 10px;
}

/* PAYMENTS */

#home .payments {
	display: none;
}

.payments p,
.payments a,
.payments ul {
	display: inline-block;
}

.payments p {
	height: 40px;
	line-height: 40px;
	margin: 0;
	font-size: 14px;
}

.payments form {
	display: inline-block;
	vertical-align: middle;
}

.payments input[type="submit"],
.payments a {
	/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#fff0d4+0,fee0a8+51,ffb035+100 */
	background: #fff0d4; /* Old browsers */
	background: -moz-linear-gradient(top, #fff0d4 0%, #fee0a8 51%, #ffb035 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(top, #fff0d4 0%,#fee0a8 51%,#ffb035 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom, #fff0d4 0%,#fee0a8 51%,#ffb035 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fff0d4', endColorstr='#ffb035',GradientType=0 ); /* IE6-9 */
	border: 1px solid #FFA954;
	border-radius: 5px;
	color: #0A3A69;
	display: inline-block;
	font-style: italic;
	font-weight: bold;
	margin: 0 25px;
	padding: 8px 20px;
	text-align: center;
	vertical-align: top;
}

.payments input[type="submit"]:hover,
.payments a:hover {
	background: #FEE4B1;
	text-decoration: none;
}

.payments ul {
	height: 40px;
	margin: 0;
	padding: 0;
	vertical-align: middle;
}

.payments ul li.card {
	border: 1px solid #d2d2d2;
	display: inline-block;
	font-size: 0;
	margin: 0;
	opacity: 0.7;
	padding: 0;
	height: 32px;
	vertical-align: top;
	width: 52px;
}

.payments ul li.card.visa { background: url('../img/payments.png') 0 0; }
.payments ul li.card.mastercard { background: url('../img/payments.png') -52px 0; }
.payments ul li.card.amex { background: url('../img/payments.png') -104px 0; }
.payments ul li.card.discover { background: url('../img/payments.png') -156px 0; }
.payments ul li.card.paypal { background: url('../img/payments.png') -208px 0; }

/*******************************************************************
  ADDRESS
*******************************************************************/

footer {
	font-size: 14px;
	padding: 15px 0;
	text-align: center;
}

footer address {
	margin: 0;
}

footer address span {
	display: block;
}

footer p {
	font-size: 12px;
	margin: 0;
}

footer a,
footer a:hover {
	color: #000;
	text-decoration: none;
}

footer #social {
	margin: 10px 0 0 0;
}

footer #social .button {
	line-height: 24px;
	padding: 8px 13px 5px 13px;
}

footer #social .button.facebook {
	padding-left: 16px;
	padding-right: 16px;
}

footer #social .button .fa {
	color: #FFF;
	font-size: 24px;
	margin: 0;
}

/*******************************************************************
  FORMS
*******************************************************************/

.form {
	border-top: 1px solid #727274;
	margin: 20px 0;
	padding: 20px 0 0 0;
}

/*******************************************************************
  IMAGES
*******************************************************************/

.imageWrap {
	margin: 0 0 10px 0;
	overflow: hidden;
}

.inlineImage {
	box-shadow: 1px 1px 5px rgba(0,0,0,1);
	float: right;
	margin: 5px 25px 15px 35px;
}

/*******************************************************************
  PAGE: SCHEDULE A REPORTER
*******************************************************************/

body.schedule .button {
	padding: 8px 40px;
}

body.schedule .button.schedule {
	display: none;
}

.disclaimer {
	margin: 0 0 40px 0;
}

#holidays {
	border: 1px solid #727274;
	margin: 0 0 40px 0;
	text-align: center;
}

#holidays span {
	background: #F4F4F4;
	display: inline-block;
	padding: 20px; margin: 10px;
}

/*******************************************************************
  PAGE: ABOUT US
*******************************************************************/

/* ADDITIONAL */

.additional {
	background: #fbfbfb;
	border-bottom: 2px solid #EAEAEA;
	border-top: 2px solid #EAEAEA;
	padding: 15px;
}

.additional h2 {
	margin: 0 0 15px 0;
	text-align: center;
}

/* TESTIMONIALS */

.testimonials {
	border-bottom: 1px solid #3A5996;
	margin: 50px 0 30px 0;
	padding: 0 15px 20px 15px;
}

.testimonials h2 {
	text-align: center;
}

.testimonials blockquote {
	border: none;
	font-size: 14px;
	font-style: italic;
	margin: 0 0 15px 0;
	padding: 0;
}

.testimonials p {
	text-align: right;
}

/* MEMBERSHIPS */

.memberships {
	margin-bottom: 20px;
	margin-top: 20px;
}

.memberships h2 {
	text-align: center;
}

.memberships {
	font-size: 14px;
}

/* LOGOS */

.logos img {
	margin: 0 5px;
}

.logos img:last-of-type {
	margin: 20px 0 0 60px;
}

/*******************************************************************
  PAGE: CONTACT & LOCATION
*******************************************************************/

.map {
	padding: 0 15px;
}

.map address {
	min-height: 100px;
}

.map .googleMap {
	text-align: center;
}

.map .googleMap p {
	margin: -5px 0 0 0;
}

.map .googleMap p .button {
	width: 100%;
}

.map iframe {
	width: 100%;
}

body.directions .button {
	padding: 8px 40px;
}

body.directions .button.directions {
	display: none;
}

/* ACCORDION */

.accordion-toggle {
	cursor: pointer;
}

.accordion-content {
	display: none;
	overflow: hidden;
}

.accordion-content.default {
	display: block;
}

/* DIRECTIONS */

.directions {
	text-align: left;
}

.directions h3 {
	background: #EAEAEA;
	border-bottom: 2px solid #FFF;
	font-size: 16px;
	margin: 0;
	padding: 12px;
}

.directions h3:hover {
	background: #F4F4F4;
}

.directions h3:before {
	content: "+";
	font-weight: bold;
	margin: 0 3px 0 0;
}

.directions img {
	max-width: 200px;
}

/*******************************************************************
  404
*******************************************************************/

.notFound {
	font-size: 18px;
	padding: 80px 0;
	text-align: center;
}

.notFound .button {
	font-size: 16px;
}

/*******************************************************************
  MEDIA QUERIES
*******************************************************************/

@media handheld, only screen and (max-width: 1199px) {
	header #heading {
		font-size: 34px;
		line-height: 68px;
	}
}

@media handheld, only screen and (max-width: 1199px) {
	.slideshow img {
		margin: 0 auto;
	}

	.payments a {
		margin: 0 10px;
	}

	.payments ul {
		display: none;
	}

	.memberships div {
		min-height: 1px;
		padding-right: 15px;
		padding-left: 15px;
		position: relative;
		text-align: center;
		width: 100%;
	}

	.memberships ul {
		list-style: none;
		margin: 0 0 30px 0;
		padding: 0;
	}

	.logos img:last-of-type {
		margin-left: 0;
	}

	.photos img {
		max-width: 144px;
	}
}

@media handheld, only screen and (max-width: 991px) {
	header {
		min-height: 100%;
		padding: 0;
	}

	header img {
		display: none;
	}

	header #heading {
		line-height: 80px;
	}

	header address {
		display: block;
		margin: 10px 0 15px 0;
		position: relative;
		right: auto;
		text-align: center;
		top: auto;
	}

	/*
	header address strong:last-of-type:before {
		content: " • ";
	}
	*/

	#home h1 {
		display: none;
	}

	#home h2 {
		margin-top: 5px;
	}

	.slideshow {
		padding: 15px;
	}

	.photos {
		display: none;
	}
}

@media handheld, only screen and (max-width: 767px) {
	nav {
		display: none;
	}

	.slicknav_menu {
		display: block;
	}

	#main {
		margin-top: 0;
	}

	.logos img:last-of-type {
		max-width: 320px;
	}
}

@media handheld, only screen and (max-width: 567px) {
	header #heading {
		font-size: 24px;
		line-height: 48px;
	}

	header #heading:before {
		bottom: 1px;
		height: 2px;
	}

	#holidays span {
		display: block;
	}
}

@media handheld, only screen and (max-width: 420px) {
	.content a.button {
		display: block;
		margin: 0 auto 10px auto;
		max-width: 240px;
	}

	.inlineImage,
	.directions img {
		margin-left: 20px;
		margin-right: 0;
		max-width: 140px;
	}

	.map .googleMap p a.button {
		max-width: 100%;
	}
}

/*******************************************************************
  THREEPACK
  Added on 2023-04-02
*******************************************************************/
.threepack {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	margin-top: 20px;
	gap: 1em;
}

@media (max-width: 667px) {
	.threepack {
		grid-template-columns: 1fr;
		gap: 2em;
		max-width: 80vw;
		margin-inline: auto;
	}
}

.threepack__item {
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.threepack__item img {
	width: 100%;
	display: block;
	object-fit: cover;
	box-shadow: 1px 1px 3px rgba(0,0,0,0.5);
}

/*******************************************************************
  JotForm iFrame heights
  Added on 2025-08-18
*******************************************************************/

.iframe-height--1265px {
	height: 1265px;
}

.iframe-height--770px {
	height: 770px;
}

@media (max-width: 510px) {
	.iframe-height--vw510px-2065px {
		height: 2065px;
	}

	.iframe-height--vw510px-1150px {
		height: 1150px;
	}
}
