/*
Theme Name: Bainbridge Island Senior Center
Theme URI: https://biseniorcenter.org/
Author: SpiderLily Web Design
Author URI: http:/spiderlilyweb.com/
Description: Custom theme for the Bainbridge Island Senior Center
Version: 1.0.0
License: GNU General Public License v2 or laterf
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: hcm

BISC is based on Underscores http://underscores.me/, (C) 2012-2015 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal http://necolas.github.com/normalize.css/
*/
@import url(https://fonts.googleapis.com/css?family=Roboto+Slab);
@import url(https://fonts.googleapis.com/css?family=Open+Sans:400,400italic,700);

/*--------------------------------------------------------------
# Normalize
--------------------------------------------------------------*/
html {
	font-family: 'Open Sans', Verdana, sans-serif;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust:     100%;
}
body {
	margin:0;
}
article, aside, details, figcaption, figure, footer, header, main, menu, nav, section, summary {
	display: block;
}

audio, canvas, progress, video {
	display: inline-block;
	vertical-align: baseline;
}

[hidden], template {
	display: none;
}

a {
	background-color: transparent;
	text-decoration:none;
}

a:active,
a:hover {
	outline: 0;
}

sub, sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sup {top: -0.5em;}

sub {bottom: -0.25em;}

img {border: 0;}

hr {
	box-sizing: content-box;
	height: 0;
}

button, input, optgroup, select, textarea {
	color: inherit;
	font: inherit;
	margin: 0;
}

button {overflow: visible;}

button, select {text-transform: none;}

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
	-webkit-appearance: button;
	cursor: pointer;
}

button[disabled],
html input[disabled] {
	cursor: default;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
	border: 0;
	padding: 0;
}

input {line-height: normal;}

input[type="checkbox"],
input[type="radio"] {
	box-sizing: border-box;
	padding: 0;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

td, th {
	padding: 0;
}

a[href^=tel] {
	text-decoration:inherit;
	color: inherit;
}

/*--------------------------------------------------------------
# Typography
--------------------------------------------------------------*/
body, button, input, select, textarea {
	color: black;
	font-size: 16px;
	line-height: 1.5;
	font-weight:400;
}

h1, h2, h3, h4, h5, h6 {
	clear: both;
	display:block;
	font-family: 'Roboto Slab', serif;
	font-weight:normal;
	line-height:1.1;
	margin:12px 0;
	text-align:left;
	color:black;
}
h1 {font-size:36px; margin:24px 0;}
h2 {font-size:28px; margin:12px 0;}
h2.widget-title {padding:0 0 3px; font-size:24px; font-weight:bold;}
h2.announce {
	display:block;
	text-align:center;
	padding:10px 0;
	background:#40a094;
}
h3 {
	font-size:24px;
	margin:12px 0;
}
h4 {
	font-size:19px;
	margin:12px 0 6px;
}
.textwidget h4 {
	font-family:'Open Sans', sans-serif;
	font-weight:700;
}
p {
	margin: 0 0 8px;
}
p.small {font-size:80%;}
dfn, cite, em, i {
	font-style: italic;
}

blockquote {
  margin: 0;
  clear:both;
}
blockquote:before {
  color: #ccc;
  content: "\201C";
  font-size: 4em;
  line-height: 0.1em;
  margin-right: 0.15em;
  vertical-align: -0.4em;
}
blockquote p {
  display: inline;
}
blockquote p.by {
	clear:both;
	float:right;
	font-style:italic;
	padding-bottom:18px;
}

/*--------------------------------------------------------------
# Elements
--------------------------------------------------------------*/
html {
	box-sizing: border-box;
	background:white;
}

*:before,
*:after { /* Inherit box-sizing to make it easier to change the property for components that leverage other behavior; see http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
	box-sizing: inherit;
}

#page {
	display: block;
	position:relative;
	max-width:1600px;
	margin: 0 auto;	
	background:white;
	}	

header, #primary {
	width:100%;
	float:left;
	}
.site-branding {
	float:left;
	width:100%;
	padding-top:10px;
	position:relative;
	}	
.logo {
	max-width:30%;
	height:auto; 
	margin:0 0 0 1%;
	float:left;
}
.twocol {
	float:left;
	width:50%;
}

.site-main {
	float:left;
	width:100%;
}
.text-block { /* limit paragraph length */
	max-width:640px;
	width:95%;
	margin:0 auto;
}
.gallery-block {
	width:100%;
	margin:0 auto;	
}
.text-block ul {
	list-style-position: inside;
    text-indent: -1em;
    padding-left: 1em;	
}
.second-block {
	margin-top:40px;
}
/* for home page link boxes */

.flex-container {
	width:100%;
	display:flex;	
	font-size:15px;
	line-height:1.3;
}
.center-content {justify-content:center;}
.service { /* add white space to top of service links on home page */
	padding:32px 0 12px;
}
.grid {
	flex-wrap:wrap;
	width:auto;
	margin:0 auto;
}	
.grid-three {
	flex-grow: 1;
	width: 33%;
	max-width:33%;
	text-align:center;
}
.grid-three.partner {
	margin-bottom:24px;
	vertical-align:middle;
	align-self:center;
}
.grid-six {
	flex-grow: 1;
	width: 16.6%;
	max-width:16.6%;
	text-align:center;
	margin-bottom:24px;
	vertical-align:middle;
	align-self:center;
}
#colophon .grid-three {
	text-align:left;
}
h3.center {
	font-size:19px; 
	margin:0 auto; 
	text-align:center;
}
.center {text-align:center;}
img.circle {
	border-radius:50%;
	max-width:70%;	
	margin-bottom:12px;	
}
img.bird {margin-left:12px;}
.sponsor img {
	max-width:90%;
	height:auto;
	vertical-align:middle;
}
.partner img {
	max-width:250px;
	width:90%;
	height:auto;
	margin-bottom:24px;
}
.sponsor a img:hover, .partner a img:hover {opacity:1.0;}
	
.content-block {
	flex:1;
	width:50%;
}
.grid-two {
	flex-grow: 1;
	width: 48%;
	padding:6px 1%;
	margin:0 1%;
	position:relative;
	display:inline-block;
	border: 1px #630237 solid;
}
.grid-two.sponsor {
	border:none;
	width:46%;
}
.grid-two h3 {
	font-family: 'Open Sans', sans-serif;
	font-weight:700;
	margin:0;
	font-size:21px;	
}
.grid-two a, .grid-two a h3 {color:#630237;}
.grid-two a:hover, .grid-two a:hover h3 {color:#75790a;}
.grid-two p {
	margin:0 18px 0 0;
	font-size:15px;
	line-height:1.2em;
}
.grid-two img.alignleft {
	max-width: 32%;
	height:auto;
	margin-bottom:0;
	margin-right:0;
}
.link-info {
	max-width: 65%;
	float:right;
}
a.page-link {
	position:absolute;
	bottom:8px;
	right:5px;
	font-size:24px;
}
.contents-left {
	float:left;
	width:90%;	
}
.contents-right {
	float:right;
	width:90%;	
}

/* SIGN UP FOR EMAL REMINDER */

a.cc-link {
	float:left;
	max-width:90%;
	padding-left: 60px;
	margin:0 0 16px;
}
#colophon a.cc-link {font-weight:normal;}
a.cc-link.news {
	background:url('images/newsletter-blue.png') 0 6px no-repeat;
}
a.cc-link.member {
	background:url('images/membership.png') 0 6px no-repeat;
}
.cc-link p {
	font-family:'Roboto Slab', serif;
	font-size:18px;
	line-height:1.2em;
	float:left;
	display:inline-block;
}
.cc-link p:after {
	content:" \25BA";	
}

/* with sidebar */

.content {
	float:left;
	width:61%;
	min-width:61%;
	padding:0 3% 0 2%;
}
.sidebar{
	float:left;
	position:relative;
	width:32%;
	min-width:32%;
	padding:16px 1%;
}
.textwidget {
	clear:both;
}

.text-wrap {
	float:left;
	padding:0;
	max-width:720px;	
}
.text-wrap.columns {
	float:none;
	margin:0 auto;
	max-width:820px;
}
.text-wrap.columns.announcements {
	max-width:920px;
}
.text-wrap.calendar-wrap {
	float:none;
	margin:0 auto;
	max-width:1000px;
}
.text-wrap.columns li {
-webkit-column-break-inside: avoid;
          page-break-inside: avoid;
               break-inside: avoid;
}

.text-wrap.columns h4::before
    {
        content:".";
        color: transparent;
        display: table;
        page-break-before: avoid;
        page-break-after: avoid;
    }

 .text-wrap.columns h4 + ul
    {
        page-break-before: avoid;
    }
.facebook-feed {
	max-width:920px;
	width:98%;
	padding:16px 1%;
	margin:24px auto;
	background:rgba(240,242,245,0.8);
	-webkit-border-radius: 6px 6px 6px 6px;
	border-radius: 6px 6px 6px 6px;
}
.facebook-feed h2 {
	padding:6px 0 6px 40px;
	margin:0 0 8px;
	font-family:'Open Sans', sans-serif;
	font-weight:400;
	background:url('images/facebook-headline.png') center left no-repeat;
	border-bottom:1px solid #5c6b99;
	font-size:24px;
}
.cff-wrapper-ctn, #cff .cff-posts-wrap, #cff .cff-masonry-posts {
	height: auto !important;.cff-wrapper-ctn, #cff .cff-posts-wrap, #cff .cff-masonry-posts
}
body.error404 .text-wrap {
	float:none;
	margin:0 auto;
}

/* Full Width */
.full-width {
	margin:0 auto;
	width:94%;
	padding:0 3%;
}

.full-width .content {
	float:left;
	width:98%;
	min-width:98%;
	padding:0 1%;
}

/* CONTACT */
.twocolleft {
	float:left;
	width:46%;
}
.twocolright {
	float:right;
	width:46%;
}
a.more {
	position:absolute;
	right:12px;
	bottom:12px;
	font-style:italic;
}
a.more:after {
	content:" \00BB";
}

hr {
	background-color: #009487;
	border: 0;
	height: 1px;
	margin-bottom: 1.5em;
}
.event-block {
	clear:both;
	float:left;
	width:100%;
	padding-bottom:8px;
	border-bottom:1px #009487 solid;
	margin-bottom:12px;
}
ul,
ol {
	margin: 0;
	padding:0;
}

ul {
	list-style: disc;
	margin:0 0 8px 24px;
	display: table;
}
ul > li::before {
    display: table-cell; 
    text-align: right;
}
ol {
	list-style: decimal;
}

li > ul,
li > ol {
	margin-bottom: 0;
	margin-left: 1.5em;
}

body.calendar ul {
	font-size:18px;
	padding:12px 0 12px 24px;
	line-height:2em;
	}

dt {font-weight: 700;}

dd {margin: 0;}

table {
	margin: 0 0 1.5em;
	width: 100%;
}

p.box {
	padding:12px;
	border: 7px rgba(74,92,154,0.7) solid;
	margin-bottom:21px;
	max-width:720px;
	margin:0 auto;
}

/*
 * Images
 */
/*
Resize images to fit the main content area.
- Applies only to images uploaded via WordPress by targeting size-* classes.
- Other images will be left alone. Use "size-auto" class to apply to other images.
*/
img.size-auto,
img.size-full,
img.size-large,
img.size-medium,
.attachment img,
img.attachment-thumbnail,
.widget-area img,
img.featured-thumb,
img.wp-post-image {
	max-width: 100%; /* When images are too wide for containing element, force them to fit. */
	height: auto; /* Override height to match resized width for correct aspect ratio. */
}
img.featured {margin-bottom:16px;}
.wp-caption {
	max-width:98% !important;
	width: auto !important;
}	
img.alignleft {
	margin-right: 0.7em;
	margin-bottom:16px;
}
img.alignright {
	margin-left: 1em;	
	margin-bottom:16px;
}
img.aligncenter {
	margin-bottom:16px;
}
.wp-caption {
	padding: .5em;
	text-align: center;
}
.wp-caption .wp-caption-text {
	font-size:12px;
	font-style:italic;
}
.widget_sp_image-description p {
	text-align:center;
	margin-bottom:16px;
}
.widget img.aligncenter {
	margin-bottom:6px;
}

/*--------------------------------------------------------------
# Navigation
--------------------------------------------------------------*/
/*--------------------------------------------------------------
## Links
--------------------------------------------------------------*/
a, a:visited, a h2, a:visited h2 {
	color: #4a5c9a;
}
p a {font-weight:700;}
a:hover, a:focus, a:active, a h2:hover {
	color: #009588;
}

a:focus {
	outline: thin dotted;
}

a:hover, a:active {
	outline: 0;
}

#primary a img:hover {opacity:0.8;}

a.pdf {
	padding:12px 8px 10px 30px;
	background:url('images/pdf-icon.png') center left no-repeat;
	font-size:17px;
}
a.pdf span {padding-left:4px;}

/*--------------------------------------------------------------
## Menus
--------------------------------------------------------------*/

#site-navigation {
	width:100%;
	text-align:center;	
	font-size:18px;
}
.main-navigation {
	clear: both;
	display: block;
	float:left;
	width: 100%;
	z-index:99;
}

.main-navigation ul { 
	display: none;
	list-style: none;
	margin: 0; 
	width:100%;
	text-align:center;
}

.main-navigation ul>li {
	display:inline-block;
	position: relative;
}
#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item:last-child {margin:0;}
#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > a.mega-menu-link {font-family: 'Open Sans', sans-serif; vertical-align:middle;}
.main-navigation a, .main-navigation a:visited {
	display: block;
	text-decoration: none;
	color:black;
	font-size:17px;
	transition: all .3s ease-in-out;
}
.main-navigation a:hover {color:#630237;}
.main-navigation ul>li.menu-item-has-children>a:after {content:" \25BC";}
.main-navigation li.current-menu-item>a {
		background-color:#6eb13d;
	}
.main-navigation ul>li a {padding:6px 28px;}
.main-navigation ul ul {
	box-shadow: 0 4px 4px rgba(0, 0, 0, 0.4);
	background:#fdfcce;
	float: left;
	position: absolute;
	top: 34px;
	padding:10px 0 5px;
	left: -999em;
	z-index: 99999;
	width:220px;
}

.main-navigation ul ul ul {
	left: -999em;
	top: 0;
}

.main-navigation ul ul a {
	width: 200px;
	padding:8px 10px;
	color:black;
	text-align:left;
}
.main-navigation ul li ul li:last-child a {padding:8px 10px;}

/*.main-navigation ul ul a:hover {background:#E2E0CF; color:#5889ba;}*/

.main-navigation ul li:hover > ul,
.main-navigation ul li.focus > ul {
	left: auto;
}

.main-navigation ul ul li:hover > ul,
.main-navigation ul ul li.focus > ul {
	left: 100%;
}

.main-navigation .current_page_item > a,
.main-navigation .current-menu-item > a,
.main-navigation .current_page_ancestor > a,
.main-navigation .current-menu-ancestor > a {
	color:#630237;
}

/* Small menu. */
.menu-toggle,
.main-navigation.toggled ul {
	display: block;
	float:left;
}
.menu-toggle:after {content:" \25BC";}	
.toggled .menu-toggle:after {content:" \25B2";}	
.menu-toggle:before {content:url('images/nav-icon.png'); padding-right:6px; height:26px; vertical-align:text-top;}

button.menu-toggle {
	border:none;
	background: transparent;
	box-shadow:none;
	color:#161616;
	font-size:18px;
	border-radius:0;
	text-shadow:none;
	vertical-align:top;
	padding:6px;
	margin-left:10px;
}
button.menu-toggle:hover {opacity:0.8;}

/* CONTAINING BLOCK FOR SEARCH, FB, INSTAGRAM */

.header-block {
	float:right;
	padding:8px;
	background:#40a094;
}

/* SEARCHFORM */

#searchform {
	display:inline-block; 
	margin:6px 6px 0 8px; 
	vertical-align:middle;
	-webkit-border-radius: 6px 6px 6px 6px;
	border-radius: 6px 6px 6px 6px;
	background:rgba(255,255,255,.6);
	}
#searchform input[type="text"] {
	width:260px; 
	color:#4a5c9c;
	font-family: 'Open Sans', sans-serif;
	padding:6px 3px 6px 6px;
	-webkit-border-radius: 6px 6px 6px 6px;
	border-radius: 6px 6px 6px 6px;
	border:none;
	font-size:14px;
	line-height:18px;
	vertical-align:middle;
	background:transparent;
}
#searchform input[type="text"]:focus {
    outline-width: 0;
}
#searchform input[type="image"] {vertical-align:middle; opacity:1.0;}
#searchform input[type="image"]:hover {opacity: 0.6;}

body.error404 .searchwrap, body.search-no-results .searchwrap {
	float:left;
	margin:12px 0 0 12px;
	background:#009487;
	padding:0 5px 5px 5px;
	}
/* FACEBOOK & INSTAGRAM LINKS */

.social {
	display:inline-block;
	float:left;	
}
.social img {
	display:inline-block;
	vertical-align:middle;
	float:right;
	padding:4px 6px 0;
}
.social img:hover {opacity:0.8;}

/* DONATE and FIND US buttons */

.button-block {
  clear:right;
  float:right;
  margin:24px 1% 0 0;
}
.header-button {
	background-color:#4a5c9a;
	-webkit-border-radius: 6px 6px 6px 6px;
	border-radius: 6px 6px 6px 6px;
	display:inline-block;
}
.header-button.generic {margin:0 auto;}
.header-button.first {margin-right:32px;}
a.header-button {
	font-size:18px;
	text-transform:uppercase;
	color:white;
	padding:4px 8px;	
	transition: all .3s ease-in-out;
}
a.header-button:hover {
	background-color:#009588;
	color:white;
}

/* FAQ CSS ACCORDION */

.transition, p, .accordion ul li i:before, .accordion ul li i:after {
  transition: all 0.25s ease-in-out;
}

.flipIn, h1, .accordion ul li {
  animation: flipdown 0.5s ease both;
}

.no-select, .question, h3 {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.accordion .question {
  display: block;
  background: rgba(0,165,207,0.2);
  margin: 0;
  padding:6px;
  cursor: pointer;
  -webkit-border-radius: 6px 6px 6px 6px;
	border-radius: 6px 6px 6px 6px;
}
.accordion .question h3 {
	padding:0 20px 0 0;
	font-size:18px;
	margin:0;
}
.accordion p {
  position: relative;
  overflow: hidden;
  max-height: 800px;
  opacity: 1;
  transform: translate(0, 0);
  margin: 6px;
  z-index: 2;
}

.accordion ul {
  list-style: none;
  perspective: 900;
  padding: 0;
  margin: 0;
}
.accordion ul li {
  position: relative;
  padding: 0;
  margin: 0;
  padding-bottom: 12px;
  padding-top: 0;
}
.accordion ul li:nth-of-type(1) {
  animation-delay: 0.5s;
}
.accordion ul li:nth-of-type(2) {
  animation-delay: 0.75s;
}
.accordion ul li:nth-of-type(3) {
  animation-delay: 1s;
}
.accordion ul li:last-of-type {
  padding-bottom: 0;
}
.accordion ul li i {
  position: absolute;
  transform: translate(-6px, 0);
  margin-top: 13px;
  right: 12px;
}
.accordion ul li i:before, ul li i:after {
  content: "";
  position: absolute;
  background-color: #231f20;
  width: 3px;
  height: 9px;
}
.accordion ul li i:before {
  transform: translate(-2px, 0) rotate(45deg);
}
.accordion ul li i:after {
  transform: translate(2px, 0) rotate(-45deg);
}
.accordion ul li input[type=checkbox] {
  position: absolute;
  cursor: pointer;
  width: 100%;
  height: 100%;
  z-index: 1;
  opacity: 0;
}
.accordion ul li input[type=checkbox]:checked ~ p {
  margin-top: 0;
  margin-bottom:0;
  max-height: 0;
  opacity: 0;
  transform: translate(0, 50%);
}
ul li input[type=checkbox]:checked ~ i:before {
  transform: translate(2px, 0) rotate(45deg);
}
ul li input[type=checkbox]:checked ~ i:after {
  transform: translate(-2px, 0) rotate(-45deg);
}

@keyframes flipdown {
  0% {
    opacity: 0;
    transform-origin: top center;
    transform: rotateX(-90deg);
  }
  5% {
    opacity: 1;
  }
  80% {
    transform: rotateX(8deg);
  }
  83% {
    transform: rotateX(6deg);
  }
  92% {
    transform: rotateX(-3deg);
  }
  100% {
    transform-origin: top center;
    transform: rotateX(0deg);
  }
}


/* HOME PAGE CONTENT BLOCKS */

.hours, .whats-new {
	display:block;
	text-align:center;
	color:white;
	width:98%;
	-webkit-border-radius: 6px 6px 6px 6px;
	border-radius: 6px 6px 6px 6px;
	padding:12px 1% 9px;
}
.hours p {margin-bottom:0;}
.hours {
	background:#4a5c9a;
	font-size:21px;
	margin-bottom:12px;
}
.whats-new {
	background:#009588;
	font-family: 'Roboto Slab', serif;
	font-size:21px;	
	margin-bottom:12px;
}
.whats-new span {padding-right:6px;}
.whats-new a {color:black;}
.whats-new a:hover {color:white;}
.whats-new.second {
	background:#0b9d49;
}

.nowrap {white-space:nowrap;}

/* CALENDAR PAGE */

a.calendar-link {
	display:block;
	padding-left:66px;
	background:url('images/calendar-icon.png') 0 0 no-repeat;
	line-height:60px;
	vertical-align:middle;
	font-size:18px;
	font-weight:700;
	margin-bottom:24px;
}

/* adjust when we switch to mobile menu */
@media screen and (min-width: 62em) { 
	
	.menu-toggle {
		display: none;
	}
	.main-navigation ul {
		display: block;
	}
	#mobile-navigation {display:none;}
}

.site-main .comment-navigation,
.site-main .posts-navigation,
.site-main .post-navigation {
	margin: 0 0 1.5em;
	overflow: hidden;
}

.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
	float: left;
	width: 50%;
}

.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
	float: right;
	text-align: right;
	width: 50%;
}

/* main gallery page */

body.gallery .content img {border:3px solid #009588;}

ul.image-gallery {
	list-style:none;
	margin:10px 0 0 0;
	width:100%;
	}
ul.image-gallery li {
	display:inline-block;
	float:left;
	width:18%;
	margin:0 2% 10px 0;
	}
ul.image-gallery li img {
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom:5px;
	max-width:100%;
	}	
ul.image-gallery li img:hover {opacity:0.9;}	
ul.image-gallery li p {text-align:center; height:50px;}

/* gallery overrides */

figcaption.gallery-caption {display:none;}  /* hide caption on gallery page */
.gallery-item {
	width:18% !important; 
	text-align:center; 
	float:left; 
	display: inline-block;
	margin:10px 1%;
	}
#primary .gallery img {
	border: 1px solid #546D4D !important;
	float:left;
	}	
#primary .gallery img:hover {
	border: 1px solid #C59242 !important;
	opacity:0.9;
	}
ul.image-gallery br {display:none;}

/*--------------------------------------------------------------
# Accessibility
--------------------------------------------------------------*/
/* Text meant only for screen readers. */
.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	position: absolute !important;
	height: 1px;
	width: 1px;
	overflow: hidden;
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	color: #21759b;
	display: block;
	font-size: 14px;
	font-size: 0.875rem;
	font-weight: bold;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000; /* Above WP toolbar. */
}

/* Do not show the outline on the skip link target. */
#content[tabindex="-1"]:focus {
	outline: 0;
}

/*--------------------------------------------------------------
# Alignments
--------------------------------------------------------------*/
.alignleft {
	display: inline;
	float: left;
	margin-right: 1.5em;
}

.alignright {
	display: inline;
	float: right;
	margin-left: 1.5em;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
}

/*--------------------------------------------------------------
# Clearings
--------------------------------------------------------------*/
.clear:before,
.clear:after,
.entry-content:before,
.entry-content:after,
.comment-content:before,
.comment-content:after,
.site-header:before,
.site-header:after,
.site-content:before,
.site-content:after,
.site-footer:before,
.site-footer:after {
	content: "";
	display: table;
	table-layout: fixed;
}

.clear:after,
.entry-content:after,
.comment-content:after,
.site-header:after,
.site-content:after,
.site-footer:after {
	clear: both;
}

/*--------------------------------------------------------------
# Widgets
--------------------------------------------------------------*/
.widget {
	margin: 0 1% 8px;
}

/* Make sure select elements fit in widgets. */
.widget select {
	max-width: 100%;
}

/*--------------------------------------------------------------
# Content
--------------------------------------------------------------*/
/*--------------------------------------------------------------
## Posts and pages
--------------------------------------------------------------*/
.sticky {
	display: block;
}

.hentry {
	margin: 0 0 1.5em;
}

.byline,
.updated:not(.published) {
	display: none;
}

.single .byline,
.group-blog .byline {
	display: inline;
}

.page-links {
	clear: both;
	margin: 0 0 1.5em;
}
.nowrap {
	white-space:nowrap;
}	
.drop {
	padding-top:12px;	
}

/*--------------------------------------------------------------
## Asides
--------------------------------------------------------------*/
.blog .format-aside .entry-title,
.archive .format-aside .entry-title {
	display: none;
}

/*--------------------------------------------------------------
## Comments
--------------------------------------------------------------*/
.comment-content a {
	word-wrap: break-word;
}

.bypostauthor {
	display: block;
}

/*--------------------------------------------------------------
# Infinite scroll
--------------------------------------------------------------*/
/* Globally hidden elements when Infinite Scroll is supported and in use. */
.infinite-scroll .posts-navigation, /* Older / Newer Posts Navigation (always hidden) */
.infinite-scroll.neverending .site-footer { /* Theme Footer (when set to scrolling) */
	display: none;
}

/* When Infinite Scroll has reached its end we need to re-display elements that were hidden (via .neverending) before. */
.infinity-end.neverending .site-footer {
	display: block;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
	max-width: 100%;
}

/*--------------------------------------------------------------
## Captions
--------------------------------------------------------------*/
.wp-caption {
	margin-bottom: 1.5em;
	max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-caption .wp-caption-text {
	margin: 0.8075em 0;
}

.wp-caption-text {
	text-align: center;
}

.excerpt {
	max-width:98%;
}

/* Footer - Colophon */
.full-wrap {
	clear:both;
	float:left;
	width:100%;
	margin-top:36px;
	padding-top:12px;
	background-color:#009588;
}
#colophon .flex-container {
	font-size:16px;
	line-height:1.5;
}
#colophon {
	margin:12px auto;
	max-width:1600px;
	width:98%;
	padding: 0 1%;
	color:white;
}
#colophon a, #colophon a:visited {color:white; font-weight:600;}
#colophon a:hover {color:#6eb13d;}
#colophon ul {list-style-type:none;}
#colophon ul li {
	text-transform: uppercase;
	margin-top:8px;
	margin-bottom:8px;
}
#colophon ul li:first-of-type {
	margin-top:0;
}
#colophon ul li ul li {
	text-transform:capitalize;	
}
#colophon ul li ul li:first-of-type {
	margin-top:8px;
}

a.top-button {display:none;}

/* Contact Form 7 styles */

.wpcf7-list-item label {display:inline-block;}
.wpcf7 label {text-transform:uppercase;}
.item-wrap {
	width:auto;
	float:left;
	margin-right:10px;
}
.item-wrap.short {width:110px;}
.item-wrap.clear {clear:both;}
input[type="text"], input[type="email"], input[type="textarea"], input[type="tel"] {
	margin-bottom:10px;
	padding:6px;
	-webkit-border-radius: 3px 3px 3px 3px;
	border-radius: 3px 3px 3px 3px;
	border:1px #4a5c9a solid;
	vertical-align:top;
	}	
.wpcf7 input[type="text"], .wpcf7 input[type="email"], .wpcf7 input[type="textarea"], .wpcf7 input[type="tel"], .event-form-name input[type="text"], .event-form-submitter input[type="text"] {
	width:100%; 
	max-width:795px;
}
input[type="file"] {width:80%;}	
.required {color: #cc0033;}
textarea.styled {
	width: 88%;
	height: 160px;
	padding:3px;
	-webkit-border-radius: 3px 3px 3px 3px;
	border-radius: 3px 3px 3px 3px;
	border:1px #B8B2AB solid;
}
input[type="text"].short {width:60%;}
.set-label {display:inline-block; width:20%;}
.collist span.wpcf7-list-item, .fourcollist span.wpcf7-list-item {display:block; font-weight:normal;}
.collist {
	 column-count: 3;
    -moz-column-count: 3;
    -webkit-column-count: 3;
	padding:8px 3px;
	margin-bottom:16px;
	background:rgba(255,255,255,0.2);
}
.fourcollist {
	 column-count: 4;
    -moz-column-count: 4;
    -webkit-column-count: 4;
	padding:8px 3px;
	margin-bottom:16px;
	background:rgba(255,255,255,0.2);
}
.fieldset {
	border-left: 1px #004B8D solid;
	padding-left: 20px;
}
div.wpcf7 {
	float:left;
	max-width:90%; 
	width:90%;
	padding:0 3%;
	background: rgba(240,242,245,0.8);
	-webkit-border-radius: 6px 6px 6px 6px;
	border-radius: 6px 6px 6px 6px;
}
div.wpcf7 input, div.wpcf7 select {font-weight:normal;}
.full-width .wpcf7 p {clear:both; margin-left:0;}
.attn {color:red; text-transform:uppercase;}
div.wpcf7 h3 {margin:16px 0; color: #004B8D;}
div.wpcf7 h4 {margin:0 0 16px; color: #004B8D;}
.separate {
	width:96%; 
	float:left;
	background: rgba(72,92,154,0.1); 
	padding: 0 2% 8px; 
	-webkit-border-radius: 6px 6px 6px 6px;
	border-radius: 6px 6px 6px 6px;
}
.separate.check {
	margin:16px 0;
	padding:6px 2%;
}
.wpcf7 input[type="submit"] {
	font-size:18px;
	padding:6px 8px;
	-webkit-border-radius: 6px 6px 6px 6px;
	border-radius: 6px 6px 6px 6px;
	background:#4a5c9a;
	color:white;
	transition: all .3s ease-in-out;
}
input[type="submit"] {
	border-style:none;
	border-color:none;
}
.wpcf7 input[type="submit"]:hover {
	background:#40a094;
}

/* reduced width menu, header and homepage adjustments*/

@media screen and (max-width: 75em) { 
	h3, h2.widget-title {font-size:21px;}
	#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > a.mega-menu-link {padding: 0px 16px 12px 16px;}
	#colophon .grid-three {
		width:49%;
		max-width:49%;
	}
	.grid-six {
		width:33%;
		max-width:33%;
	}
}

@media screen and (max-width:66em) {
	.flexible {display:block; width:100%;}
	.content, .sidebar {flex:none; float:left; clear:both; width:98%; padding:0 1%;}

	.three-col #secondary .widget {
		float:right;
	}	
	.contents-right {
		margin-right:2%
	}
	.contents-left {
		margin-left:2%
	}
	h2.tagline span {
		float:none;
		padding-left:0;
	}	
	.text-wrap {float:none; margin:0 auto;}
	h1, h2, h3, h2.widget-title { text-align:center;}
	.cc-link {float:right;}
	.cc-link p {font-size:18px;}
}


/* mobile menu and content styles */
@media screen and (max-width: 980px) {
	#site-navigation {
		position:absolute;
		top:0;
		left:0;	
	}
	.logo {max-width:40%;}
	.logo, .header-block {margin-top:40px;}
	.text-wrap {padding:0;}
}
@media screen and (max-width: 56.2em) {
	.twocol, .text-block, .twocolleft, .twocolright {
		clear:both;
		width:99%;
		margin:0 0 12px 1%;
	}
	.excerpt {width:100%; margin-bottom:16px;}
	.content-block {
		width:100%;	
	}
	.text-block {max-width:98%;}
	.contents-left, .contents-right {
		width:96%;
		margin:0 2%;
		float:left;
	}
	img.alignleft,img.alignright {
		float:none;
		margin:0 auto;
		display:block;	
	}
	.mega-toggle-label {display:none;}
	#mega-menu-wrap-primary .mega-menu-toggle {text-align:right !important;}
	#colophon .grid-three {
		width:52%;
		max-width:52%;
	}
}
@media screen and (max-width: 51em) {
	.link-info {float:left; margin-left:2%;}
	.logo {max-width:340px; float:none; display:block; margin:42px auto 6px;}
	.header-block {
		padding:8px 1%;
		width:98%;
		margin-top:0;
	}
	.mobile-head {
		display:block;
		width:420px;
		margin:0 auto;	
	}
	.button-block {position:absolute; top:0; left:0; margin:3px 0 0 1%; z-index:9999;}
	.text-wrap {max-width:96%;}
	#colophon a.top-button {
		display:block;
		font-weight:bold;
		text-align:center;
		background-color:#60bb46;
		color:black;
		-webkit-border-radius: 3px;
		border-radius: 3px;
		font-size:16px;
		padding:3px 8px;
		margin:0 auto 12px;
	}
	#colophon a.top-button:hover {
		background-color:#00a5cf;
	}
	.gallery-item, ul.image-gallery li {width:23% !important; }
	
}
@media screen and (max-width: 48em) {
	#colophon .grid-three {
		width:60%;
		max-width:60%;
	}
}
@media screen and (max-width: 43em) {
	#colophon .grid-three {
		width:70%;
		max-width:70%;
	}
	.grid-three.partner {
		width:47%;
		max-width:47%;
	}
}
@media screen and (max-width: 35em) {
	.hours, .whats-new {font-size:18px;}
	#searchform input[type="text"] {width:200px;}
	.mobile-head {width:360px;}
	#colophon {font-size:14px;}
	.gallery-item, ul.image-gallery li {width:47% !important; margin:0 3% 10px 0;}
	#layerslider_1 h1 {display:none;}
	h3.center {font-size:16px;}
	.service {padding:6px 0 0 0;}
	#colophon .grid-three {
		width:90%;
		max-width:90%;
	}
}
@media screen and (max-width: 25em) {
	.social {display:block; margin:0 auto; text-align:center;}
	form#searchform {clear:both; float:left;}
	#searchform input[type="text"] {width: 240px;}
}