/* Fade in Page */

@keyframes fadeInAnimation {
  0% {
      opacity: 0;
  }
  100% {
      opacity: 1;
  }
}

body {
  animation: fadeInAnimation ease 2s;
  animation-iteration-count: 1;
  animation-fill-mode: backwards;
  overflow-x: hidden;
}


/* Header */

#header {
  height: 400px;
  position: relative;
  margin: 1rem 1rem 0;
  color:#fff;
  padding: 1em 0;
}

body.home #header {
  height: 480px;
}

#header.header-has-video {
  height:auto !important; 
  aspect-ratio:16/9;
  max-height: none !important;
}

.header-video-sizer {
  overflow: hidden;
  aspect-ratio: 6/2;
}

@media(max-width:1111px){
  .header-video-sizer {
    aspect-ratio: 6/3;
  }
}

@media(max-width:500px){
  .header-video-sizer {
    aspect-ratio: 6/3.5;
  }
}

#header .ncontain {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
position: relative;
z-index: 2;
}

.header_banner {
position: absolute;
z-index: 1;
inset: 0;
top:0;
left: 0;
background: var(--green);
}

.header_banner:before {
content:'';
display: block;
left:0;
top:0;
height: 50%;
width:100%;
background-image: linear-gradient(to bottom, rgba(77, 74, 36,1), rgba(77, 74, 36,0) );
mix-blend-mode: multiply;
position: absolute;
z-index: 4;
}

.header_banner:after {
  content:'';
  display: block;
  left:0;
  bottom:0;
  height: 10%;
  width:100%;
  background-image: linear-gradient(to top, rgba(0,0,0,1), rgba(0,0,0,0) );
  opacity: 0.37;
  position: absolute;
  z-index: 4;
}

.header_image {
  display: block;
  position: absolute;
  inset: 0;
  object-fit: cover;
  object-position: center 29%;
  width: 100%;
  height: 100%;
  z-index: 3;
  animation: fadeInAnimation ease 1s;
  animation-delay: 0.5s;
  animation-iteration-count: 1;
  animation-fill-mode: backwards;
}

.header_video {
  position: absolute;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.header_video iframe {
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 3;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  background-image: url('../img/default-banner.webp');
}

.header_logo {
filter: drop-shadow(var(--bshadow));
}

/* Make home links blank */

body.home .header_homelink {
cursor: default;
pointer-events: none;
}

.mobilecta {
display: none;
}

.header_nav-top {
margin-top: 1em;
}

@media(max-width:1111px){
.header_navigation,
.header_homelink,
.header_banner::before {
    display: none;
}

.mobilecta {
    display: block;
}

#header,
  body.home #header {
      height: 60vmin;
      max-height: 450px;
      margin: 0;
  }
}


/* Mobile Panel */

.mpanel {
  width: 100%;
  padding: 0.75em 0 1.5em;
  background: var(--beige);
  z-index: 1001;
  max-height: calc(100% - 67px);
  overflow-y: auto;
  color: var(--brown);
  font-size: 1em;
  position: fixed;
  opacity:0;
  transform: translateY(-50px);
  top: 67px;
  transition: all 0.3s ease-in-out;
  visibility: hidden;
  height: auto;
  box-shadow: 0 6px 6px rgba(0,0,0,0.3);
}

.mpanel .widget {
  margin: 1.5em;
}

.mpanel > .ncsearchform {
  margin: 0 1.5em 1.5em
}

@media(min-width:1111px){
  .mpanel {
      visibility: hidden !important;
      opacity: 0 !important;
  }
}

/* When the label is clicked, it reveals the mobile panel */

.mpanel_input:checked + .mpanel {
    transform: translateY(0px);
    opacity: 1;
    visibility: visible;
}



.mpanel_button.opened .nc-menu {
display:none;
}

.mpanel_button.opened .nc-close {
display: inline;
color: var(--brown);
}

.mpanel_menu,
.mpanel_menu .sub-menu {
list-style-type: none;
padding: 0;
margin: 0;
}

.mpanel_menu .sub-menu {
list-style-type: disc;
}

.mpanel_menu .sub-menu li::marker {
color: var(--green);
}

.mpanel_menu {
overflow: hidden;
}

.mpanel_menu a {
display: block;
padding: 0.5em 2em;
border-top: 1px solid #ddd;
color: var(--brown);
position: relative;
}

.mpanel_menu .sub-menu a {
padding-left: 3em;
}

.mpanel_menu > li > a {
display: flex;
align-items: start;
justify-content: space-between;
}

.mpanel_menu > li.menu-item-has-children > a:after {
content:'\e901';
font-family: 'ncicons';
transform: rotate(-90deg);
font-size: 0.7em;
line-height: 2em;
transition: 0.5s;
}

.mpanel_menu > li.menu-item-has-children:hover > a:after,
.mpanel_menu > li.menu-item-has-children:focus > a:after {
transform: rotate(90deg);
}

.mpanel_menu .sub-menu {
max-height: 0;
overflow: hidden;
visibility: hidden;
opacity: 0;
background: rgba(82, 63, 30,0.07);
transition: 0.5s;
}

.mpanel_menu .sub-menu a {
border-top:none;
}

.mpanel_menu > li:hover .sub-menu,
.mpanel_menu > li:active .sub-menu,
.mpanel_menu .sub-menu.focused {
max-height: 500px;
overflow: auto;
visibility: visible;
opacity: 1;
}

.button-login {
width:50%;
float:left;
padding: 1em 0.5em 0 1em !important;
}

.button-login + .button-login {
padding:1em 1em 0 0.5em !important;;
}

.button-login a {
background: var(--green);
color: #fff;
font-family: var(--serif);
padding-block: 0.7em 0.3em;
padding-inline: 0;
font-weight: 600;
text-align: center;
justify-content: center !important;;
transition: 0.3s;
border:none;
}

.button-login a:hover {
background: var(--green-dark);
}

/* WP Header Image */

.wp-bannerimage {
background-size: cover;
background-repeat: no-repeat;
background-position: center top;
height: 200px;
}


/* Main title */

#maintitle {
padding-top: 0;
margin-bottom: var(--gap);
max-width: var(--width-max);
text-align: center;
color: var(--green-dark);
font-family: var(--serif);
position: relative;
z-index: 1
}

#maintitle:before {
content:'';
height: 3em;
width: 100%;
display: block;
background: var(--beige);
position: absolute;
bottom:100%;
left:0;
box-shadow: 0 -5px 5px rgba(0,0,0,0.2)
}

.maintitle_heading {
position: relative;
top:-0.5rem;
max-width: 800px;
margin-inline: auto;
padding-inline: var(--gap);
}

.maintitle_pretext{
  display: none;
}

/* Mega Footer */

#footer {
border-top:solid 1em var(--green-dark);
background: var(--green);
padding: 2rem var(--gap) 2rem;
color: #fff;
font-size:var(--txt-small);
text-shadow: var(--bshadow);
}

#footer > .ncontain > div:first-child {
  display: flex;
  justify-content: space-between;
  gap: 2em;
  flex-wrap: wrap-reverse;
  margin-bottom: 2em;
}

#footer a {
transition:0.3s;
}

#footer a:hover {
text-decoration: underline;
}

.footer_menu {
list-style-type: none;
padding: 0;
margin: 1em 0 0 0;
display: flex;
flex-wrap: wrap;
max-width: 400px;
justify-content: end;
gap: 0.5em 1.5em;
}


.footer_info {
line-height: 2;
}

.footer_nav {
display: flex;
flex-direction: column;
align-items: end;
}

.footer_nav .ncsocial {
--icon-width: 2.25em;
--icon-gap: 0.75rem;
--icon-radius: 0;
--icon-scale: scale(1.1);
--icon-color: var(--green);
--icon-color-hover: var(--green);
--icon-bg-color: #fff;
--icon-bg-color-hover: #fff;
--icon-border: none;
--icon-border-hover: none;
}

@media(max-width:960px){
    .footer_menu,
    .footer_nav {
      justify-content: center;
      align-items: center;
    }

    #footer > .ncontain > div:first-child {
      justify-content: center;
      gap: 2em;
      flex-direction: column-reverse;
      width: 100%;
    }

    .footer_info {
      text-align: center;
    }
}


.footer-icons {
  background: var(--green);
  display:flex;
  justify-content: space-between;
  gap:1.5rem;
}

.footer-icons1 {
  width:50%
}

.footer-icons2 {
  width: 40%;
  display:flex;
  justify-content:right;
  gap:1em;
}

.footer-icons img {
  display:block;
  align-self:center;
  width: 100%;
}

.footer-icons2 img:first-child {
  max-width:130px;
}

.footer-icons2 img:last-child {
  max-width:200px;
}

.footer-icons3 {
  background: var(--green); 
  padding: 1rem 0 2rem;
  display: flex;
  justify-content: space-between;
  gap: 1% !important;
  flex-wrap:wrap;
}

.footer-icons3 img {
  display:block;
  align-self: center;
  max-width:260px;
}

@media (max-width: 960px) {
  .footer-icons {
    align-items: center;
    flex-direction: column;
    width: 100%;
    padding-bottom: 4em;
  }
  .footer-icons3 {
    width: 100%;
  }
  .footer-icons1 {
    width: 90%;
  }
  .footer-icons2 {
    width: 70%;
    justify-content: center;
  }
  .footer-icons2 img {
    width:50% !important; 
  }
}

/* Audio / Video Player */

.mejs-container {
max-width: 100% !important;
}

.ncontent_main > .mejs-container,
.wp-video {
max-width: var(--width-standard) !important;
width: var(--width-limit) !important;
margin-bottom: var(--gap);
}


/* Main Body Content Layout */

body.blog .ncontent_main > *,
body.archive .ncontent_main > *,
body.error404 .ncontent_main > *,
body.search .ncontent_main > *,
body.woocommerce .ncontent_main > * {
max-width: var(--width-wide);
}

.ncontent {
min-height: 70vh;
}

body:not(.page-template-blank) .ncontent {
margin-bottom: clamp(2em, 6vmin, 6rem);
}

.ncontent_main > * {
width: var(--width-limit);
max-width:var(--width-standard);
margin-inline:auto;
}

.ncontent_main > .alignwide {
max-width:var(--width-wide);
}

.ncontent_main > .alignmax {
max-width: var(--width-max);
}

.ncontent_main > .alignfull {
max-width:100%;
width:100%;
}

/* Link colors */

.ncontent_main p a:not([class]),
.ncontent_main li a:not([class]) { 
  color: var(--blue);
  text-decoration: underline;
  text-decoration-color: var(--green-light);
}

.ncontent_main p a:not([class]):hover,
.ncontent_main li a:not([class]):hover { 
  color: #000;
}

.ncontent_main p a:not([class]):visited,
.ncontent_main li a:not([class]):visited { 
  color: var(--purple);
}



/* Misc Needed to pass test */

.sticky,
.gallery-caption,
.bypostauthor{
cursor:inherit;
}

.featuredimage  {
margin-bottom:1.5em;
}



/* Card Listings */

.lcard {
--card-padding: 0;
--card-margin-bottom: 3rem;
--card-bg-color: none;
--card-bg-color-hover: none;
--card-flex-direction: row;
--card-border: none;
--card-border-hover: none;
--card-bshadow: none;
  
--border-radius: 0;
--pretext-color:currentColor;

--image-width: 50%;
--image-height: 70%;

--text-padding: 1rem clamp(1rem, 15vmin, 3rem);
--text-size: 1em;
--text-color: inherit;
--text-color-hover: inherit;

--trans-speed: 0.3s;

}
.lcard_box {
  margin-top: 3rem;
  --width-max:var(--width-standard);
}

.lcard:nth-child(even) {
  --card-flex-direction: row-reverse;
}

.lcard.category-events .lcard_title:before {
  content: 'EVENT';
  color: #fff;
  font-weight: normal;
  background: var(--orange-light);
  padding: 0.2em 0.5em;
  display: inline-block;
  font-size: 0.7em;
  position: relative;
  top: -2px;
  margin-right: 0.5rem;
  font-family: var(--sans);
  border-radius: 6px;
}

.lcard { 
  width:100%; 
  max-width:100%; 
  position:relative; 
  margin-bottom:var(--card-margin-bottom);
 }

.lcard_link {
text-decoration:none;
color:inherit;
display:block;
}

.lcard_container {
display:flex;
position:relative;
background:var(--card-bg-color);
padding:var(--card-padding);
flex-direction:var(--card-flex-direction);
border:var(--card-border);
box-shadow:var(--card-bshadow);
transition:var(--trans-speed);
border-radius: var(--border-radius);
overflow: hidden;
}

.lcard:hover .lcard_container {
background:var(--card-bg-color-hover);
border:var(--card-border-hover);
}

.lcard_image {
flex-basis:var(--image-width);
min-width:var(--image-width);
overflow:hidden;
background-color: #eee;
}

.lcard_imgcon {
  padding-top:var(--image-height);
  width:100%;
  height:var(--image-height);
  min-height:100%;
  display:block;
  position:relative;
}

.lcard_img {
  position:absolute;
  object-fit:cover;
  top:0; left:0;
  display:block;
  width:100%;
  height:100%;
  transform:scale(1);
  transition:var(--trans-speed);
}

/*
.lcard:hover .lcard_img {
  transform:scale(1.2);
}
*/

.lcard_text {
  display:flex;
  flex-grow:1;
  flex-direction:column;
  justify-content:center;
  font-size:var(--text-size);
  color:var(--text-color);
  padding:var(--text-padding);
  transition:var(--trans-speed);
  min-width: 0; /* This is needed if you use truncated content within a flexbox */
}

.lcard:hover .lcard_text {
color:var(--text-color-hover);
}


/* Listings */

.lcard_title { 
  font-weight:bold; 
  font-family: var(--serif);
  color: var(--green);
  font-size: var(--txt-xlarge);
  line-height: 1.2
}

.lcard_meta { color:#999;}

.lcard_readmore { 
  display:inline-block;
  margin-top: clamp(1em,15vmin,2rem);
}

@media(max-width:768px){
  
  .lcard,
  .lcard:nth-child(even) {
  --card-flex-direction:column;
  --image-width:100%;
  --image-height:50%;
  --text-padding:1.5rem;
  --card-bg-color: #fff;
  --card-bg-color-hover: #fff;
  --card-bshadow: none;
  --card-border: solid 1px #ddd;
    --card-border-hover: solid 1px #ddd;
  }
  
}


/* Site Pagination */

.pagination {
--pgbgcolor:#fff;
--pgtextcolor:var(--dark);

--pgbgcolor-hover:var(--green);
--pgtextcolor-hover:#fff;

--pgbgcolor-current:var(--orange);
--pgtextcolor-current:#fff;

--pgradius:0;
--pgbordercolor:#eee;
}

.pagination {
position: relative;
display: flex;
justify-content: center;
margin-top:var(--gap);
}

.pagination .page-numbers {
padding: 0.5em;
border-radius: var(--pgradius);
text-align: center;
background-color: var(--pgbgcolor);
margin: 0.25em;
font-weight: bold;
width: 3em;
border:solid 1px var(--pgbordercolor);
transition: .3s;
}

.pagination .page-numbers:first-child {
margin-left: 0;
}

.pagination .page-numbers:last-child {
margin-right: 0;
}

.pagination .page-numbers.dots {
cursor: default;
}

.pagination .page-numbers:hover:not(.dots):not(.current) {
background-color: var(--pgbgcolor-hover);
color: var(--pgtextcolor-hover);
border:solid 1px var(--pgbgcolor-hover);
}

.pagination a.page-numbers {
color: var(--pgtextcolor);
}

.pagination_prev:before {
content: '\2039';
}

.pagination_next:before {
content: '\203A';
}

.pagination .page-numbers.current {
background-color: var(--pgbgcolor-current);
color: var(--pgtextcolor-current);
border:solid 1px var(--pgbgcolor-current);
cursor: default;
}


/* Search Form 

<form class="ncsearchform">
<div class="ncsearchform_contain">
  <label for="wp-searchbox" class="hidetext">Search</label>
  <input class="ncsearchform_input" type="search" id="wp-searchbox" name="s" placeholder="Search">
  <button class="ncsearchform_button" type="submit">
    <svg class="ncsearchform_icon">...</svg>
  </button>
</div>  
</form>

*/

.ncsearchform {
--align-self:center;
--min-height: 2.5em;
--text-indent: 1em;
--radius: 0;
--min-width:150px;
--text-size:1em;
--text-color:#000;
--bg-color:#fff;
--border: solid 1px var(--green);
--button-width: 2.5em;
--button-bg-color:transparent;
--button-bg-color-hover:transparent;
--button-color:var(--green);
--button-color-hover:var(--green-dark);
--focus-text-color:#000;
--focus-border:solid 1px var(--brown);
--focus-bg-color:#fff;
--focus-dropshadow: 0 1px 0.3rem rgba(0,0,0,0.3);
}



.ncsearchform {
flex-grow: 1;
min-width:var(--min-width);
align-self:var(--align-self);
}

.ncsearchform_contain {
display: flex;
position:relative;
align-items: center;
flex-grow: 1;
}

.ncsearchform_input {
background: var(--bg-color);
text-indent: var(--text-indent);
border: var(--border);
border-radius: var(--radius);
width: 100%;
font-size: var(--text-size);
min-height:var(--min-height);
padding-right:var(--button-width);
outline: none;
transition: 0.3s;
color:var(--text-color);
}

.ncsearchform_input,
.ncsearchform_input::-webkit-search-cancel-button {
-webkit-appearance: none;
appearance: none;
}

.ncsearchform_input:focus {
border:var(--focus-border);
background: var(--focus-bg-color);
box-shadow: var(--focus-dropshadow);
color:var(--focus-text-color);
}

.ncsearchform_button {
cursor: pointer;
background: var(--button-bg-color);
border: none;
position: absolute;
right: 0;
height:100%;
font-size: 1em;
border-radius:var(--radius);
border-top-left-radius:0;
border-bottom-left-radius:0;
width: var(--button-width);
padding: 0;
display: flex;
justify-content: center;
align-items: center;
transition:0.3s;
}

.ncsearchform_icon {
color: var(--button-color);
display: block;
transition: 0.3s;
}

.ncsearchform_button:hover {
background: var(--button-bg-color-hover);
}

.ncsearchform_button:hover .ncsearchform_icon {
color: var(--button-color-hover);
}

/* Modifier 
Stretch
*/

.ncsearchform-stretch {
align-self:stretch;
position:relative;
display: flex;
}
.ncsearchform-stretch .ncsearchform_contain {
align-items: stretch;
}

.ncsearchform-stretch .ncsearchform_input {
align-items: stretch;
}

.ncsearchform-stretch .ncsearchform_input,
.ncsearchform-stretch .ncsearchform_button {
border-radius:0;
}

/* Filter  */

.pblocks_listcategories {
  text-align: center;
  margin-block: 3rem var(--gap);
  width:100%;
  padding-inline: var(--gap);
  font-size: var(--txt-small);
}

.pblocks_listcategories h2 {
  font-size: 1em; 
  font-weight: normal;
  margin-bottom: 0.25rem;
}

.pblocks_listcategories ul {
  list-style-type: none;
  text-align: center;
  display:flex;
  gap:0.5em;
  justify-content: center;
  flex-wrap: wrap;
  margin: 0;
  padding: 0;
}

.pblocks_listcategories a {
  color: var(--green-dark) !important;
  border-bottom: none !important;
  text-decoration: none !important;
  text-transform: uppercase;
  font-weight: bold !important;
  display: block;
  white-space: nowrap;
  padding:0.7rem 1rem;
  transition: 0.3s;
  background: var(--green-light);
}

body.blog .listcathome {
  display: none;
}

.pblocks_listcategories a:hover,
.pblocks_listcategories a[aria-current="page"] {
  background: var(--brown) !important;
  color: #fff !important;
}

.pblocks_listcategories li.current-cat a {
  cursor: default;
  pointer-events: none;
}