html,
body {
  width:100%;
  height:100%;
  margin:0 auto;
  padding:0;
  font-family:"Raleway",sans-serif;
  color:#003452;
  background:#003452
}
img {
  max-width:100%
}
img.medium {
  width:600px;
  max-width:100%
}
img.medium.vertical {
  width:400px
}
a {
  text-decoration:none;
  color:#a8c8d6
}
a:hover {
  color:#003452
}
ul,
ol {
  margin:0;
  padding:0;
  list-style:none
}
ul.bulleted,
ol.bulleted {
  padding-left:40px;
  list-style:disc
}
video {
  display:block;
  max-width:1080px;
  margin:0 auto
}
video,
video object,
video object embed {
  width:100%;
  height:auto
}
.ytWrapper {
  position:relative;
  height:0;
  margin:0 auto;
  padding-bottom:56.25%
}
@media (min-width: 1320px) {
  .ytWrapper {
    width:1280px;
    height:720px;
    padding:0
  }
}
.ytWrapper iframe {
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%
}
.emphasis {
  font-weight:700
}
#notices {
  max-width:1200px;
  margin:0 auto;
  padding:0 20px;
  text-align:center;
  color:#fff
}
#notices a:hover,
#notices a:active {
  color:#fff
}
@media (min-width: 825px) {
  #notices {
    font-size:1.2rem
  }
}
header {
  position:relative;
  max-width:1600px;
  margin:0 auto
}
header #navButton {
  position:absolute;
  top:140px;
  width:100%;
  height:64px;
  font-size:0;
  background:#003452 url("img/hamburger.svg") no-repeat 8px center/48px
}
@media (min-width: 825px) {
  header #navButton {
    display:none
  }
}
header #logo {
  display:block;
  position:absolute;
  top:80px;
  left:50%;
  z-index:100000;
  transform:translateX(-50%);
  transition:top 1s
}
header #logo img {
  width:300px;
  -webkit-filter:drop-shadow(0 0 5px rgba(0,52,82,0.3));
  filter:drop-shadow(0 0 10px rgba(0,52,82,0.3));
  transition:width 1s
}
@keyframes universal-shake {
  0%, 100% { transform: translate3d(0, 0, 0); }
  25%      { transform: translate3d(-4px, 0, 0); }
  50%      { transform: translate3d(4px, 0, 0); }
  75%      { transform: translate3d(-4px, 0, 0); }
}

/* 2. The Link Styling */
.shake-link {
  display: inline-block; /* MUST have this for animation to work */
  animation: universal-shake 0.5s ease-in-out 0.5s; /* Starts after 0.5s */
  
  /* Standard button-like styling (optional) */
  padding: 10px 20px;
  color: white;
  text-decoration: none;
  border-radius: 4px;
}
@media (min-width: 825px) {
  header #logo {
    top:100px
  }
}
header #primaryNav ul {
  display:flex;
  flex-wrap:wrap;
  flex-direction:row;
  width:100%;
  border:none;
  z-index:999
}
header #primaryNav ul:hover img {
  opacity:.7
}
header #primaryNav ul li {
  width:50%;
  height:120px
}
header #primaryNav ul a {
  display:block;
  position:relative;
  width:100%;
  height:100%;
  box-sizing:border-box;
  font-size:1.5rem;
  font-weight:300;
  letter-spacing:.3em;
  text-align:center;
  text-transform:uppercase;
  text-shadow:0 0 1em #003452;
  color:#fff;
  background:#fff
}
header #primaryNav ul a:hover,
header #primaryNav ul a:active,
header #primaryNav ul a.current {
  background:#fff
}
header #primaryNav ul a:hover img,
header #primaryNav ul a:active img,
header #primaryNav ul a.current img {
  opacity:1
}
header #primaryNav ul a span {
  display:block;
  position:absolute;
  top:50%;
  width:100%;
  transform:translateY(-50%);
  z-index:1
}
header #primaryNav ul img {
  display:block;
  position:absolute;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:50% 85%;
  transition:opacity .5s
}
.rounded-box {
	background-color: #ffd700;
	padding: 2px 6px;
	border-radius: 4px;
}
header #primaryNav ul li:nth-of-type(2) img {
  object-position:50%
}
@media (min-width: 825px) {
  header #primaryNav ul li {
    height:150px
  }
}
@media (min-width: 1282px) {
  header #primaryNav ul a {
    font-size:1.75rem
  }
}
header #secondaryNav {
  position:absolute;
  top:204px;
  left:0;
  width:100%
}
header #secondaryNav ul {
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  position:relative;
  height:275px;
  max-height:0;
  background:#003452;
  z-index:99999;
  overflow:hidden;
  transition:max-height .5s;
  transition-timing-function:linear
}
header #secondaryNav ul.extended {
  max-height:275px
}
header #secondaryNav ul.extended li:last-child {
  border-bottom:2px solid #003452
}
header #secondaryNav a {
  display:block;
  position:relative;
  top:50%;
  padding:13px 20px;
  font-size:1.25rem;
  font-weight:300;
  line-height:.9em;
  text-transform:uppercase;
  color:#fff;
  transform:translateY(-50%)
}
header #secondaryNav a:hover,
header #secondaryNav a:active {
  color:#a8c8d6;
  background:#003452
}
@media (min-width: 825px) {
  header #secondaryNav {
    position:static;
    width:auto
  }
  header #secondaryNav ul {
    flex-direction:row;
    flex-wrap:wrap;
    justify-content:center;
    height:100px;
    max-height:initial;
    border:none;
    background:#a8c8d6
  }
  header #secondaryNav li {
    position:relative;
    width:50%;
    box-sizing:border-box;
    text-align:center;
    transition:border .2s
  }
  header #secondaryNav li:nth-of-type(2n) {
    padding-left:135px
  }
  header #secondaryNav li:nth-of-type(2n+1) {
    padding-right:135px
  }
  header #secondaryNav li::after {
    content:"";
    display:block;
    position:absolute;
    right:0;
    bottom:0;
    left:0;
    height:4px;
    background:#003452;
    transition:transform 0.2s;
    transform:scaleY(0)
  }
  header #secondaryNav li:hover::after {
    transform:scaleY(1)
  }
  header #secondaryNav a {
    padding:0 20px;
    font-size:1rem;
    color:#003452;
    font-weight: 750;
  }
  header #secondaryNav a:hover,
  header #secondaryNav a:active {
    top:50%;
    color:#003452;
    background:none
  }
}
@media (min-width: 1282px) {
  header #secondaryNav ul {
    flex-wrap:nowrap;
    height:55px
  }
  header #secondaryNav ul li:nth-of-type(3) {
    margin-right:350px
  }
  header #secondaryNav ul li:nth-of-type(2n),
  header #secondaryNav ul li:nth-of-type(2n+1) {
    padding:0
  }
}
@media (min-width: 825px) {
  header #headerAddress,
  header #headerPhone {
    position:absolute;
    right:calc(50% + .5em);
    bottom:-50px;
    font-size:1.2rem
  }
}
@media (min-width: 1282px) {
  header #headerAddress,
  header #headerPhone {
    right:calc(50% + 140px);
    bottom:-70px;
    font-size:1.5rem
  }
}
@media (min-width: 825px) {
  header #headerPhone {
    right:auto;
    left:50%
  }
  header #headerPhone::before {
    content:'•';
    margin:0 .5em 0 0
  }
}
@media (min-width: 1282px) {
  header #headerPhone {
    left:calc(50% + 140px)
  }
  header #headerPhone::before {
    content:''
  }
}
header #headerPhone a {
  color:#003452
}
main {
  max-width:1600px;
  margin:0 auto;
  padding:20px 20px 20px;
  box-sizing:border-box;
  background:#fff
}
@media (min-width: 825px) {
  main {
    padding:20px
  }
}
@media (min-width: 1282px) {
  main {
    padding:50px 20px 20px
  }
}
main h1 {
  text-align:center
}
@media (min-width: 825px) {
  main h1 {
    font-size:3rem
  }
}
main #reviews {
  width:90%;
  margin:40px auto 20px;
  font-size:1.5rem;
  text-align:center
}
main #reviews span {
  display:block;
  margin:.5em 0 0;
  font-size:1.2rem;
  text-align:right
}
main #reviews .bx-wrapper {
  margin:0;
  border:0;
  box-shadow:none
}
main #reviews .bx-controls-auto {
  top:-10px;
  width:105%;
  font-size:0;
  text-align:right;
  opacity:0;
  transition:opacity .5s
}
main #reviews:hover .bx-controls-auto {
  opacity:1
}
@media (min-width: 825px) {
  main #reviews {
    font-size:2em
  }
}
main #intro .bannerImage:first-child {
  margin:50px 0 -10px
}
main #intro #eventsBanners {
  margin:50px 0 0
}
main #intro #eventsBanners .bx-wrapper {
  border:0;
  box-shadow:none
}
main #intro #eventsBanners .slider .bannerImage {
  margin:0
}
main #intro .info {
  text-align:center
}
main #intro .info h2 {
  font-size:2.25rem
}
main #intro .info ul {
  list-style:none;
  font-size:1.5rem
}
main #features {
  display:flex;
  flex-wrap:wrap;
  flex-direction:row;
  justify-content:center;
  margin:50px 0 0
}
main #features li {
  width:150px;
  max-width:calc(50vw - 30px);
  height:150px;
  max-height:calc(50vw - 30px);
  margin:5px;
  font-size:1.2rem;
  text-align:center
}
main #features a {
  display:flex;
  height:100%;
  border-radius:50%;
  color:#003452;
  background:#a8c8d6;
  transition:color .5s, background-color .5s
}
main #features a[href]:hover {
  color:#fff;
  background:#003452
}
main #features span {
  margin:auto
}
main .callout {
  position:relative;
  margin:30px 0;
  padding:30px;
  font-size:1.2em;
  text-align:center;
  color:#fff;
  z-index:1
}
main .callout::before {
  content:'';
  position:absolute;
  top:0;
  right:-20px;
  bottom:0;
  left:-20px;
  background:#003452;
  z-index:-1
}
main .callout a:hover {
  color:#fff
}
@media (min-width: 825px) {
  main .callout {
    margin:50px 0;
    font-size:2em
  }
}
main .callout2 {
  position:relative;
  max-width:1400px;
  margin:30px auto;
  padding:30px;
  font-size:1.2em;
  text-align:center
}
main .callout2+.callout {
  margin:-30px 0 30px
}
main .callout2:first-child {
  margin:0 auto 30px auto
}
@media (min-width: 825px) {
  main .callout2:first-child {
    margin:30px auto
  }
}
@media (min-width: 825px) {
  main .callout2 {
    font-size:2em
  }
}
main .callout2Small,
main .callout2Medium {
  position:relative;
  max-width:1400px;
  margin:20px auto;
  text-align:center
}
@media (min-width: 825px) {
  main .callout2Small,
  main .callout2Medium {
    font-size:1.2rem
  }
}
main .callout2Medium {
  font-size:1.2rem
}
@media (min-width: 825px) {
  main .callout2Medium {
    font-size:1.5rem
  }
}
main .subCallout {
  position:relative;
  max-width:1400px;
  margin:-20px auto 40px;
  font-size:1em;
  text-align:center
}
@media (min-width: 825px) {
  main .subCallout {
    margin:-30px auto 50px;
    font-size:1.5em
  }
}
main .calloutButtons {
  display:block;
  margin:15px 0
}
@media (min-width: 825px) {
  main .calloutButtons {
    margin:10px 0
  }
}
main .calloutButtons a {
  display:inline-block;
  margin:3px 0;
  padding:6px 10px;
  text-align:center;
  font-size:1rem;
  color:#003452;
  background:#a8c8d6;
  transition:background .5s;
  cursor:pointer
}
main .calloutButtons a:hover {
  color:#003452;
  background:#dfebf0
}
@media (min-width: 825px) {
  main .calloutButtons a {
    font-size:1.2rem
  }
}
main .bannerImage {
  width:100%;
  margin:30px 0
}
main #homeGallery,
main #eventsGallery {
  overflow:hidden;
  width:calc(100% + 40px);
  margin:-30px 0 20px -20px
}
main #homeGallery .bx-wrapper,
main #eventsGallery .bx-wrapper {
  border:0;
  box-shadow:none
}
main #homeGallery {
  margin:-30px 0 20px -20px
}
@media (min-width: 825px) {
  main #homeGallery {
    margin:-50px 0 20px -20px
  }
}
main #eventsGallery {
  width:calc(100% - 40px);
  max-width:1000px;
  margin:50px auto 0
}
main .info {
  margin:0 auto;
  padding:0 20px;
  font-size:1.2rem
}
main .info ul {
  list-style:initial
}
main .info li {
  margin:.1em 0 .1em 1em
}
main .info img {
  display:block;
  margin:50px auto
}
main .info.narrow {
  max-width:1000px
}
main .homeHours {
  max-width:350px;
  margin:40px auto 0;
  border:1px solid #003452;
  border-radius:10px;
  padding:30px;
  font-size:1.2rem;
  text-align:center
}
main .homeHours.sanctuary {
  border-width:2px;
  border-image:linear-gradient(340deg, rgba(255,255,255,0) 65%, #0f3352 90%) 1 0 0 1
}
main .homeHours h2 {
  margin-top:0
}
main .homeHours li {
  margin:0
}
main .homeHours li:not(.hoursNote)+li.hoursNote,
main .homeHours li.hoursNote+li:not(.hoursNote) {
  margin-top:10px
}
main .featureInfo {
  margin:0 auto;
  padding:0 20px;
  font-size:1.2rem
}
main .featureInfo ul {
  list-style:initial
}
main .featureInfo li {
  margin:.1em 0 .1em 1em
}
main .featureInfo img {
  display:block;
  margin:50px auto
}
@media (min-width: 825px) {
  main .featureInfo {
    font-size:1.5rem;
    font-weight:300
  }
}
main .blurb {
  display:flex;
  flex-direction:column-reverse;
  align-items:center;
  position:relative;
  margin:30px 0;
  font-size:1.2rem
}
main .blurb .text {
  margin:-2px 0 0;
  border:2px solid;
  border-image:linear-gradient(0deg, rgba(255,255,255,0) 10%, #0f3352 90%) 0 1;
  padding:0 20px
}
main .blurb h2 {
  margin-top:20px;
  font-size:2rem
}
main .blurb .figure {
  display:flex;
  height:45vw;
  overflow:hidden
}
main .blurb .figure.horses img,
main .blurb .figure.apiary img {
  align-self:flex-end
}
main .blurb .figure.butterflies img {
  align-self:baseline
}
main .blurb img {
  object-fit:cover;
  width:100%;
  margin-top:-2px
}
@media (min-width: 1000px) {
  main .blurb {
    flex-direction:row;
    border:2px solid;
    border-image:linear-gradient(340deg, rgba(255,255,255,0) 65%, #0f3352 90%) 1 0 0 1
  }
  main .blurb .text {
    flex-basis:0;
    flex-grow:3;
    margin:20px 25px;
    border:none;
    padding:0
  }
  main .blurb .figure {
    flex-basis:0;
    flex-grow:2;
    height:initial
  }
  main .blurb img {
    align-self:center
  }
  main .blurb h2 {
    margin-top:0
  }
  main .blurb:nth-child(2n+1) {
    flex-direction:row-reverse;
    border-image:linear-gradient(25deg, rgba(255,255,255,0) 65%, #0f3352 90%) 1 1 0 0
  }
}
@media (min-width: 825px) {
  main .blurbSingle {
    border:2px solid;
    border-image:linear-gradient(340deg, rgba(255,255,255,0) 65%, #0f3352 90%) 1 0 0 1;
    padding:20px;
    box-sizing:border-box
  }
  main .blurbSingle h2 {
    margin-top:0
  }
  main .blurbSingle:nth-child(2n+1) {
    flex-direction:row-reverse;
    border-image:linear-gradient(25deg, rgba(255,255,255,0) 65%, #0f3352 90%) 1 1 0 0
  }
}
main .blurbNarrow,
main .blurbNarrow2 {
  width:100%;
  margin:20px auto;
  border-radius:5px;
  padding:20px;
  box-sizing:border-box;
  font-size:1.5rem;
  text-align:center;
  background:#dfebf0
}
main .blurbNarrow h2,
main .blurbNarrow2 h2 {
  margin-top:0;
  font-size:2.5rem
}
main .blurbNarrow li,
main .blurbNarrow2 li {
  margin:10px 0;
  list-style:none
}
@media (min-width: 1000px) {
  main .blurbNarrow,
  main .blurbNarrow2 {
    width:calc(50% - 20px)
  }
}
main .blurbNarrow2 {
  background:#c2d6a9
}
main .blurbNarrow2 .calloutButtons a {
  background:#8db163
}
main .blurbSmall {
  display:flex;
  flex-direction:column-reverse;
  align-items:center;
  position:relative;
  margin:30px 0;
  font-size:1.2rem
}
main .blurbSmall .text {
  margin:-2px 0 0;
  border:2px solid;
  border-image:linear-gradient(0deg, rgba(255,255,255,0) 10%, #0f3352 90%) 0 1;
  padding:0 20px
}
main .blurbSmall h2 {
  margin-top:20px;
  font-size:2rem
}
main .blurbSmall .figure {
  display:flex
}
main .blurbSmall .figure.horses img,
main .blurbSmall .figure.apiary img {
  align-self:flex-end
}
main .blurbSmall .figure.butterflies img {
  align-self:baseline
}
main .blurbSmall img {
  object-fit:cover;
  width:100%;
  margin-top:-2px
}
@media (min-width: 650px) {
  main .blurbSmall {
    width:calc(50% - 10px)
  }
}
@media (min-width: 1000px) {
  main .blurbSmall {
    width:calc(33.33% - 20px)
  }
}
main #animals {
  display:flex;
  flex-wrap:wrap;
  align-items:flex-start;
  justify-content:space-between
}
main #donorLists {
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between
}
main #merchImgs {
  display:flex;
  flex-wrap:wrap;
  justify-content:space-around;
  list-style:none
}
main #merchImgs li {
  min-width:300px;
  max-width:30%;
  margin:10px;
  box-sizing:border-box
}
main #merchImgs li img {
  margin:0
}
main .contactForm,
main .bandSignupForm {
  max-width:600px;
  margin:0 auto;
  padding:5px 20px;
  box-shadow:3px 3px 10px 0px rgba(0,52,82,0.5)
}
main .contactForm form,
main .bandSignupForm form {
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between
}
main .contactForm form>label,
main .bandSignupForm form>label {
  display:block;
  width:100%;
  margin:15px 0
}
main .contactForm input[type="text"],
main .contactForm textarea,
main .bandSignupForm input[type="text"],
main .bandSignupForm textarea {
  display:block;
  width:100%;
  margin:5px 0;
  border:none;
  border-bottom:1px solid #003452;
  padding:6px 6px 5px 6px;
  box-sizing:border-box;
  font-family:"Helvetica","Arial",sans-serif;
  font-size:1rem
}
main .contactForm input[type="text"]:focus,
main .contactForm textarea:focus,
main .bandSignupForm input[type="text"]:focus,
main .bandSignupForm textarea:focus {
  border:1px solid #003452;
  padding:5px;
  outline:none
}
main .contactForm textarea,
main .bandSignupForm textarea {
  min-height:54px;
  resize:vertical
}
main .contactForm .radioSection,
main .bandSignupForm .radioSection {
  margin:20px 0 0
}
main .contactForm .radioOptions,
main .bandSignupForm .radioOptions {
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  width:100%;
  margin:0 0 15px
}
main .contactForm .radioOptions label,
main .bandSignupForm .radioOptions label {
  margin:0
}
main .contactForm .radioOptions input[type="radio"],
main .bandSignupForm .radioOptions input[type="radio"] {
  display:none
}
main .contactForm .radioOptions input[type="radio"]+span,
main .bandSignupForm .radioOptions input[type="radio"]+span {
  transition:color .3s, background .3s
}
main .contactForm .radioOptions input[type="radio"]:checked+span,
main .contactForm .radioOptions input[type="radio"]+span:hover,
main .bandSignupForm .radioOptions input[type="radio"]:checked+span,
main .bandSignupForm .radioOptions input[type="radio"]+span:hover {
  color:#fff;
  background:#003452
}
main .contactForm .radioOptions input[type="radio"]:active+span,
main .bandSignupForm .radioOptions input[type="radio"]:active+span {
  color:#a8c8d6;
  background:#003452
}
main .contactForm .radioOptions span,
main .bandSignupForm .radioOptions span {
  margin-right:2px;
  padding:10px;
  line-height:50px;
  background:#dfebf0
}
main .contactForm .radioOptions .fakeRadio,
main .bandSignupForm .radioOptions .fakeRadio {
  height:40px;
  margin:5px 2px 5px 0;
  padding:0px 10px;
  line-height:40px;
  color:#003452;
  background:#dfebf0;
  transition:color .3s, background .3s;
  cursor:default
}
main .contactForm .radioOptions .fakeRadio:hover,
main .bandSignupForm .radioOptions .fakeRadio:hover {
  color:#fff;
  background:#003452
}
main .contactForm .radioOptions .fakeRadio:active,
main .bandSignupForm .radioOptions .fakeRadio:active {
  color:#a8c8d6;
  background:#003452
}
main .contactForm input[type="submit"],
main .bandSignupForm input[type="submit"] {
  width:100%;
  margin:20px 0;
  border:0;
  border-radius:5px;
  padding:10px 20px;
  font-size:1rem;
  color:#fff;
  background:#003452;
  transition:color .3s, background .3s
}
main .contactForm input[type="submit"]:hover,
main .contactForm input[type="submit"]:active,
main .contactForm input[type="submit"]:focus,
main .bandSignupForm input[type="submit"]:hover,
main .bandSignupForm input[type="submit"]:active,
main .bandSignupForm input[type="submit"]:focus {
  color:#a8c8d6
}
@media (min-width: 540px) {
  main .contactForm form>label:nth-of-type(-n+2) {
    width:calc(50% - 20px)
  }
}
@media (min-width: 540px) {
  main .bandSignupForm form>label:nth-of-type(2),
  main .bandSignupForm form>label:nth-of-type(3),
  main .bandSignupForm form>label:nth-of-type(4),
  main .bandSignupForm form>label:nth-of-type(5),
  main .bandSignupForm form>label:nth-of-type(6),
  main .bandSignupForm form>label:nth-of-type(7) {
    width:calc(50% - 20px)
  }
}
main #formSent {
  margin:50px auto;
  font-size:2rem;
  text-align:center
}
main #contactSocialMedia {
  margin:30px 0 30px
}
main #contactSocialMedia ul {
  display:flex;
  flex-direction:row;
  justify-content:center
}
main #contactSocialMedia a {
  display:inline-block;
  position:relative;
  margin:5px
}
main #contactSocialMedia a::after {
  content:'';
  position:absolute;
  top:0;
  left:0;
  width:64px;
  height:64px
}
main #contactSocialMedia a:hover img {
  opacity:0
}
main #contactSocialMedia a:hover::after {
  opacity:1
}
main #contactSocialMedia .facebook a:hover::after {
  background:url("/img/socMed/facebookLight.svg") 64px/cover
}
main #contactSocialMedia .instagram a:hover::after {
  background:url("/img/socMed/instagramLight.svg") 64px/cover
}
main #contactSocialMedia .twitter a:hover::after {
  background:url("/img/socMed/twitterLight.svg") 64px/cover
}
main #contactSocialMedia .youtube a:hover::after {
  background:url("/img/socMed/youTubeLight.svg") 64px/cover
}
main #contactSocialMedia img {
  width:64px
}
main #map {
  width:100%;
  height:50vh;
  border:none
}
main #address {
  margin:50px;
  text-align:center
}
main #address p {
  margin:0
}
main #address .tel {
  display:block;
  margin:10px 0
}
@media (min-width: 600px) {
  main #address {
    font-size:1.5rem
  }
}
main #directions {
  margin:40px;
  text-align:center
}
main #directions h2 {
  margin-bottom:0
}
main #directions #directionsFrom {
  display:flex;
  flex-direction:column;
  justify-content:center;
  text-align:left
}
main #directions #directionsFrom div {
  margin:0 20px
}
main #directions #directionsFrom ol {
  padding-left:.8em;
  list-style:decimal
}
@media (min-width: 600px) {
  main #directions #directionsFrom {
    flex-direction:row
  }
}
@media (min-width: 600px) {
  main #directions {
    font-size:1.5rem
  }
}
main #eventInfo {
  display:flex;
  flex-wrap:wrap;
  justify-content:space-around;
  max-width:1200px;
  margin:0 auto
}
main #calendar {
  max-width:1000px;
  margin:50px auto 0
}
main #calendarLink a {
  font-weight:700
}
main #farmGallery>ul,
main #eventGallery>ul {
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  max-width:1050px;
  margin:0 auto
}
main #farmGallery>ul li,
main #eventGallery>ul li {
  position:relative;
  width:100%;
  max-width:500px;
  margin:10px
}
@media (min-width: 600px) {
  main #farmGallery>ul li,
  main #eventGallery>ul li {
    width:calc(50% - 20px)
  }
}
main #farmGallery>ul h2,
main #eventGallery>ul h2 {
  position:absolute;
  top:45%;
  right:10%;
  left:10%;
  font-size:1.25rem;
  font-weight:300;
  letter-spacing:.3em;
  text-align:center;
  text-transform:uppercase;
  text-shadow:0 0 1em #003452;
  color:#fff;
  transform:translateY(-50%)
}
@media (min-width: 850px) {
  main #farmGallery>ul h2,
  main #eventGallery>ul h2 {
    font-size:1.75rem
  }
}
main #farmGallery>ul img,
main #eventGallery>ul img {
  display:block
}
main .gallery {
  margin:50px auto
}
main .gallery .galleryColumn,
main .gallery .galleryItem {
  width:50%
}
main .gallery .galleryItem,
main .gallery .galleryItemWide {
  display:block;
  padding:3px;
  box-sizing:border-box
}
main .gallery .galleryItemWide {
  width:100%
}
main .gallery img {
  display:block
}
@media (min-width: 850px) {
  main .gallery .galleryColumn,
  main .gallery .galleryItem {
    width:33%
  }
  main .gallery .galleryItem,
  main .gallery .galleryItemWide {
    padding:5px
  }
  main .gallery .galleryItemWide {
    width:66%
  }
}
main #donateButton {
  display:block;
  width:200px;
  margin:50px auto;
  padding:15px 30px;
  font-size:2rem;
  text-align:center;
  color:#fff;
  background:#8db163;
  transition:background .5s;
  cursor:pointer
}
main #donateButton:hover {
  background:#003452
}
main #donateButton+span {
  display:block;
  margin:-45px 0 50px;
  font-size:1rem;
  text-align:center
}
main #donateButtonHome {
  display:block;
  width:200px;
  margin:-40px auto 50px;
  padding:15px 30px;
  font-size:1.5rem;
  letter-spacing:.02em;
  text-align:center;
  color:#fff;
  background:#8db163;
  transition:background .5s;
  cursor:pointer
}
main #donateButtonHome:hover {
  background:#003452
}
main #donateButtonHome+span {
  display:block;
  margin:-45px 0 50px;
  font-size:1rem;
  text-align:center
}
@media (min-width: 850px) {
  main #donateButtonHome {
    width:275px;
    font-size:2rem
  }
}
main #faq {
  margin:50px auto
}
main #faq ol {
  list-style:decimal
}
main #faq ul {
  list-style:none
}
main #faq li {
  margin:0
}
main #faq li.question {
  font-weight:bold
}
main #faq p {
  margin:1rem
}
main #sitemap {
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between
}
main #sitemap section {
  display:inline-block;
  width:100%;
  margin:10px;
  border:solid 1px #003452;
  border-radius:5px;
  padding:20px;
  box-sizing:border-box
}
@media (min-width: 600px) {
  main #sitemap section.short {
    width:calc(50% - 20px)
  }
  main #sitemap section.short ul {
    column-count:1
  }
}
@media (min-width: 960px) {
  main #sitemap section.short ul {
    column-count:2
  }
}
main #sitemap section h2 {
  margin-top:0;
  font-size:2rem
}
main #sitemap section ul {
  column-count:1;
  column-gap:0px
}
@media (min-width: 600px) {
  main #sitemap section ul {
    column-count:2
  }
}
@media (min-width: 960px) {
  main #sitemap section ul {
    column-count:3
  }
}
main #sitemap section a {
  display:inline-block;
  margin:5px;
  border-radius:5px;
  padding:5px 10px;
  font-size:1.2rem;
  color:#fff;
  background:#003452
}
main #sitemap section a:hover {
  color:#003452;
  background:#a8c8d6
}
main #tos {
  max-width:1200px;
  margin:0 auto
}
main #tos .conspicuous {
  font-weight:700
}
main p.error {
  text-align:center
}
main p.error a {
  cursor:pointer
}
footer {
  max-width:1600px;
  margin:0 auto;
  padding:20px;
  box-sizing:border-box;
  text-align:center;
  text-transform:uppercase;
  background:#a8c8d6
}
footer a {
  color:#fff
}
footer #footerLogo img {
  width:250px;
  margin:20px 0 35px
}
footer #footerHours {
  margin:0 0 20px
}
footer #footerHours .hoursNote {
  margin-top:5px;
  text-transform:none
}
footer #footerNav>ul:nth-child(1) {
  margin:-10px -10px 10px
}
footer #footerNav>ul:nth-child(1) li {
  display:inline
}
footer #footerNav>ul:nth-child(1) li+li::before {
  content:'•';
  padding:0 10px 0 5px;
  vertical-align:-3px;
  font-size:1.5em
}
footer #footerNav>ul:nth-child(2) {
  display:flex;
  flex-direction:column;
  justify-content:center;
  margin:0 0 20px
}
footer #footerNav>ul:nth-child(2) ul {
  padding:0 0 10px
}
footer #footerNav>ul:nth-child(2) h6 {
  margin:10px 0
}
footer #footerNav>ul:nth-child(2) h6 a {
  font-size:1rem;
  color:#003452
}
@media (min-width: 0) {
  footer #footerNav>ul:nth-child(2) {
    flex-direction:row;
    text-align:left
  }
  footer #footerNav>ul:nth-child(2) ul {
    padding:0 30px
  }
}
footer #footerSocialMedia {
  margin:20px 0
}
footer #footerSocialMedia li {
  display:inline-block
}
footer #footerSocialMedia a {
  display:inline-block;
  position:relative;
  margin:0 3px
}
footer #footerSocialMedia a:hover::after {
  content:'';
  position:absolute;
  top:0;
  left:0;
  width:48px;
  height:48px
}
footer #footerSocialMedia .facebook a:hover::after {
  background:url("/img/socMed/facebookDark.svg") 48px/cover
}
footer #footerSocialMedia .instagram a:hover::after {
  background:url("/img/socMed/instagramDark.svg") 48px/cover
}
footer #footerSocialMedia .twitter a:hover::after {
  background:url("/img/socMed/twitterDark.svg") 48px/cover
}
footer #footerSocialMedia .youtube a:hover::after {
  background:url("/img/socMed/youtubeDark.svg") 48px/cover
}
footer #footerSocialMedia img {
  width:48px
}
footer #copyright {
  max-width:300px;
  margin:30px auto 0;
  font-size:.8rem;
  line-height:1.5em
}
footer #copyright span {
  white-space:nowrap
}
footer #copyright span+span::before {
  content:'|';
  padding:10px
}
@media (min-width: 450px) {
  footer #copyright {
    max-width:initial;
    margin:initial
  }
  footer #copyright span::before {
    content:'|';
    padding:10px
  }
}
.slider {
  visibility:hidden
}
.bx-wrapper .bx-controls-direction .bx-prev {
  top:0;
  width:10%;
  height:100%;
  margin:0;
  background:url("img/arrow.svg") no-repeat center right/32px 32px;
  transform:rotate(180deg)
}
.bx-wrapper .bx-controls-direction .bx-prev:hover,
.bx-wrapper .bx-controls-direction .bx-prev:focus {
  background:url("img/arrowHover.svg") no-repeat center right/32px 32px
}
.bx-wrapper .bx-controls-direction .bx-next {
  top:0;
  width:10%;
  height:100%;
  margin:0;
  background:url("img/arrow.svg") no-repeat center right/32px 32px
}
.bx-wrapper .bx-controls-direction .bx-next:hover,
.bx-wrapper .bx-controls-direction .bx-next:focus {
  background:url("img/arrowHover.svg") no-repeat center right/32px 32px
}
.bx-wrapper .bx-pager.bx-default-pager a {
  background:#a8c8d6
}
.bx-wrapper .bx-pager.bx-default-pager a:hover,
.bx-wrapper .bx-pager.bx-default-pager a.active,
.bx-wrapper .bx-pager.bx-default-pager a:focus {
  background:#003452
}
.fc-unthemed td.fc-today {
  background:#dfebf0
}
.fc-day-grid-event .fc-content {
  white-space:normal
}
@media (max-width: 600px) {
  .fc-day-grid-event .fc-content {
    font-size:.5rem
  }
}
.fc-event.calendarEvent {
  border-color:#003452;
  background-color:#003452
}
.fc-event.calendarNoEvent {
  border-color:#a8c8d6;
  background-color:#a8c8d6
}
.ctct-inline-form {
  max-width:500px;
  margin:0 auto
}
.ctct-inline-form form.ctct-form-custom {
  display:flex;
  flex-direction:column
}
.ctct-inline-form div.ctct-form-embed div.ctct-form-defaults h2.ctct-form-header {
  margin:0;
  font-family:"Raleway",sans-serif;
  font-size:inherit
}
.ctct-inline-form div.ctct-form-embed div.ctct-form-defaults p.ctct-form-text {
  margin:0 0 5px;
  font-family:"Raleway",sans-serif;
  text-transform:none
}
.ctct-inline-form div.ctct-form-embed form.ctct-form-custom div.ctct-form-field {
  position:relative;
  margin:0
}
.ctct-inline-form div.ctct-form-embed form.ctct-form-custom div.ctct-form-field label {
  margin:10px 0 3px;
  text-transform:none
}
.ctct-inline-form div.ctct-form-embed form.ctct-form-custom input.ctct-form-element {
  width:100%;
  height:auto;
  border:none;
  border-radius:5px;
  padding:5px 10px;
  box-shadow:none;
  font-family:"Helvetica","Arial",sans-serif
}
.ctct-inline-form div.ctct-form-embed form.ctct-form-custom fieldset.ctct-form-lists {
  margin:10px 0 0;
  padding:0 14px;
  text-transform:none
}
.ctct-inline-form div.ctct-form-embed form.ctct-form-custom fieldset.ctct-form-lists .ctct-form-listitem {
  margin:0
}
.ctct-inline-form div.ctct-form-embed form.ctct-form-custom .ctct-form-required::before {
  display:none
}
.ctct-inline-form div.ctct-form-embed form.ctct-form-custom button.ctct-form-button {
  align-self:center;
  width:85px;
  border-radius:5px;
  padding:6.5px 0;
  transition:color .3s
}
.ctct-inline-form div.ctct-form-embed form.ctct-form-custom button.ctct-form-button:hover,
.ctct-inline-form div.ctct-form-embed form.ctct-form-custom button.ctct-form-button:active,
.ctct-inline-form div.ctct-form-embed form.ctct-form-custom button.ctct-form-button:focus {
  color:#a8c8d6;
  background:#003452
}
.ctct-inline-form .ctct-form-footer {
  display:none
}
.ctct-inline-form #gdpr_text {
  text-transform:none
}
.jquery-modal {
  z-index:9999
}
.modal {
  z-index:10000
}
@media (min-width: 825px) {
  .modal {
    max-width:600px;
    font-size:1.2rem
  }
}
@media (min-width: 1282px) {
  .modal {
    max-width:800px;
    font-size:1.5rem
  }
}
.modal .modalLogo {
  display:block;
  width:150px;
  margin:10px auto 0
}
@media (min-width: 825px) {
  .modal .modalLogo {
    width:200px
  }
}
.grecaptcha-badge {
  visibility:hidden
}
