/*** SLICK CAROUSEL ***/

.slick-slider { position:relative; }
.slick-list { overflow-x:hidden; width:100%; }
.slick-track { display:flex; justify-content:center; min-width:100%; }
.grid-left .slick-track { justify-content:flex-start; }
.grid-right .slick-track { justify-content:flex-end; }
.slick-track .slick-slide { height:auto; }
.slick-dotted { padding-bottom:2rem;  }

/** ARROWS **/

.slick-prev, .slick-next { text-indent:-9999px; position:absolute; z-index:1000; top:calc(50% - 32px); display:block; width:32px; height:32px; padding:0; cursor:pointer; color:transparent; border:none; outline:none; background:transparent; }
.slick-prev { left:calc(var(--gutter) * -1); }
.slick-next { right:calc(var(--gutter) * -1); }

.slick-prev:before { content:"\f053"; font:var(--fa-font-solid); display:none; }
.slick-prev svg { position:absolute; top:0; left:0; font-size:3rem; color:hsla(var(--black),0.3); }

.slick-next:before { content:"\f054"; font:var(--fa-font-solid); display:none;}
.slick-next svg { position:absolute; top:0; right:0; font-size:3rem; color:hsla(var(--black),0.3); }

.white-txt .slick-prev svg,
.white-txt .slick-next svg { color:hsla(var(--white),0.3); }

/** DOTS **/

ul.slick-dots,
.content ul.slick-dots { display:flex; flex-direction:row; justify-content:center; gap:0.5rem; margin:0; padding:0; list-style-type:none; position:absolute; bottom:0.25rem; width:100%; z-index:1000; }
ul.slick-dots li,
.content ul.slick-dots  { margin:0; list-style-type:none; }
ul.slick-dots li button { display:block; width:1.5rem; height:1.5rem; padding:0; border:none; border-radius:75rem; border:2px solid hsl(var(--white)); background-color:transparent; text-indent:-9999px; cursor:pointer; transition:width 500ms, background-color 500ms; }
ul.slick-dots li.slick-active button { background-color:hsl(var(--white)); width:2.5rem; }

.white-bg ul.slick-dots li button { border:2px solid hsl(var(--grey-mid)); }
.white-bg ul.slick-dots li.slick-active button { background-color:hsl(var(--grey-mid)); }



/*** MAILCHIMP ***/

form.mc4wp-form { width:100%; max-width:1000px; margin:0 auto; padding-bottom:2%; font-size:0.875rem; }
form.mc4wp-form .mc4wp-form-fields { display:flex; gap:0.5rem; flex-direction:column; text-align:left; }
form.mc4wp-form .mc4wp-form-fields > div { background-color:hsl(var(--grey-light)); min-width:25%; padding:0.2em 1em 0.4em; border-radius:calc(var(--radius) / 2); position:relative; overflow:hidden; }
form.mc4wp-form label { position:absolute; z-index:1; top:10px; left:30px; }
form.mc4wp-form input { border:none; background:hsl(var(--grey-light)); color:hsl(var(--text)); width:100%; -webkit-appearance:none; -moz-appearance:none; outline:none; line-height:1.25em; padding:0.75em 0 0.5em 0.75em; position:relative; z-index:2; }
form.mc4wp-form .subscribe { flex:1 1 auto; }
form.mc4wp-form .subscribe input { width:calc(100% - 8em); } 
form.mc4wp-form button { border:none; background:transparent; outline:none; -webkit-appearance:none; color:hsl(var(--white)); position:absolute; top:50%; right:0.15em; height:2.75em; padding:0 1.5em; border-radius:20em; transform:translateY(-50%); transition:background-color 300ms; cursor:pointer; }
form.mc4wp-form button svg { width: 2em; color:inherit; }
form.mc4wp-form button:hover { background-color:hsl(var(--third-dark)); }
form.mc4wp-form .mc4wp-response { color:white; font-size:0.75rem; text-align:center; }

/** Remodal **/

.remodal-wrapper .remodal { max-width:900px; }
.remodal-wrapper .remodal.popup { text-align:left; padding:0; }
.remodal-wrapper .remodal.popup h3 { margin:0; padding:30px; }
.remodal-wrapper .remodal.popup .content { margin:0; padding:30px; }

.remodal-wrapper .privacy-notice { position:absolute; inset:0; display:flex; flex-direction:column; justify-content:center; background:hsl(var(--white)); padding:35px; z-index:1;  }

/*** Simple Lightbox ***/

.sl-wrapper .sl-counter { font-size:1.25rem; }
.sl-wrapper .sl-close,
.sl-wrapper .sl-navigation button.sl-prev,
.sl-wrapper .sl-navigation button.sl-next { font-size:2.5rem; }
.sl-caption { text-align: center; }

/*** MIX IT UP ***/

.filter-buttons-wrapper { display:flex; gap:2rem; margin-bottom:var(--gap); justify-content: center; }
.filter-buttons-wrapper button { font-size:1.1rem; width:auto; }
button.more-button.mixitup-control-active { border-color:transparent !important; background:linear-gradient(90deg, hsla(var(--first-light),1) 0%, hsla(var(--first),1) 50%, hsla(var(--first),1) 100%); background-size:200% auto; background-position:5% 50%; color:hsl(var(--white)); }

/*** PayPal FORMS ***/

.paypal-form input { border:none; width:100%; }
.paypal-form input[type=text] { padding:0.5em; border-radius:3px; }
.paypal-form input.pay-button { margin:2rem 0; cursor:pointer; }

.donate-form { position:absolute; width:100%; bottom:0; }

/*** FORMS ***/

input, textarea, select {
  /* -webkit-appearance:none; */
  -webkit-border-radius:0;
  outline:none;
}

select { -webkit-appearance:none; }

/*** FORMS ***/

.contact-form { position:relative; }

.contact-form .wrapper { z-index:2; }

div.wpcf7 { padding:0 0 3rem; position:relative; }

.wpcf7 form { display:flex; flex-wrap:wrap; gap:var(--gutter); position:relative; margin:0 auto; }
/*.wpcf7 form:after { content:""; display:table; clear:both; } */ 
 

.screen-reader-response,
.hidden-fields-container { display:none !important; } 

.wpcf7 p.notice { float:none; width:98%; font-size:0.75rem; display:block; text-align:center; }

.content .wpcf7 p { width:calc(50% - var(--gap)/2); flex:1 1 auto; min-width:16rem; margin:0; position:relative; }
.content .wpcf7 p.third { width:calc(33.33% - var(--gap)/1.5); }
.content .wpcf7 p.full { width:100%; }
.wpcf7 label { position:absolute; z-index:-1; }
.wpcf7 label.show { position:relative; display:block; text-align:left; margin-bottom:5px; z-index:1; }
.wpcf7 input:not(.more-button), 
.wpcf7 textarea,
.wpcf7 select { width:100%; border:none; border:1px solid hsla(var(--grey-light),0.4); background-color:hsl(0,0%,97%); padding:0.75em; border-radius:calc(var(--radius) / 2); font-size:1rem; }
.wpcf7 textarea { height:4.25em; resize:vertical; }
.wpcf7 select { padding-right:2.5rem; }

.wpcf7 .wpcf7-submit.more-button { text-transform:uppercase; -webkit-appearance:none; width:auto; }

.wpcf7 input::placeholder { color:hsl(var(--grey-dark)); opacity:1; }
.wpcf7 textarea::placeholder { color:hsl(var(--grey-dark)); opacity:1; }
.wpcf7 input::-ms-input-placeholder { color:hsl(var(--grey-dark)); opacity:1; }
.wpcf7 textarea::-ms-input-placeholder { color:hsl(var(--grey-dark)); opacity:1; }

.wpcf7 span:has(.wpcf7-select)::after {
  content: url('data:image/svg+xml, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 100 320 320"><path d="M137.4 374.6c12.5 12.5 32.8 12.5 45.3 0l128-128c9.2-9.2 11.9-22.9 6.9-34.9s-16.6-19.8-29.6-19.8L32 192c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9l128 128z"/></svg>');
  position: absolute; width:0.75rem; height:0.75rem; right:1rem; top:40%; transform: translateY(-50%); filter: invert(1) brightness(0.7);
}

.wpcf7 span.wpcf7-not-valid-tip,
.wpcf7 span.wpcf7-not-valid-tip-no-ajax { display:none !important; }

.wpcf7-response-output { font-size:1rem; position:absolute; bottom:-2.5rem; width:100%; color:hsl(var(--third)); text-align:center; }
.white-txt .wpcf7-response-output { color:hsl(var(--white)); }

div.wpcf7 span.wpcf7-spinner { position:absolute; display:none; left:calc(50% - 32px); bottom:-40px; width:64px; height:16px; background:url(images/ajax-loader.svg); background-size:contain; }
div.wpcf7 .submitting span.wpcf7-spinner { display:block !important; }

.wpcf7-not-valid { border-color:red !important; }

span.wpcf7-form-control-wrap { display:inline; }

/*** CF7 ***/
.wpcf7-acceptance label { position:relative; display:flex; justify-content:center; align-items:start; line-height:1.5em; font-size:0.9em; color:hsl(var(--grey-mid)); z-index:+1; cursor:pointer;}
.wpcf7-acceptance label a { color:hsl(var(--first)); font-weight:600; }
.wpcf7-acceptance label a:hover { color:hsl(var(--first-dark)); }

.white-txt .wpcf7-acceptance label,
.white-txt .wpcf7-acceptance label a,
.white-txt .wpcf7-acceptance label a:hover { color:hsl(var(--white)); }

.wpcf7-acceptance label span { padding:0 5px; }
.wpcf7-acceptance input[type=checkbox] { height:20px; width:20px; min-width:20px; margin-right:10px; box-shadow:none; }
input:disabled.wpcf7-submit { border-color:transparent; background-color:hsla(var(--third-dark),0.3); color:hsl(var(--white)); cursor:not-allowed; }


/*** Cookie Notice ***/

#cookie-notice .cn-text-container { margin:0; }
#cookie-notice #cn-accept-cookie { background-color:hsl(var(--second)) !important; transition:background-color 300ms; }

#cookie-notice a.cn-button,
.content p a.cn-revoke-inline { margin:0 0 0 10px; padding:0.25em 0.5em 0.35em; border-radius:3px; color:hsl(var(--white)); text-decoration:none; }

#cookie-notice #cn-refuse-cookie,
#cookie-notice #cn-more-info,
.content p a.cn-revoke-inline { background-color:#999 !important; transition:background-color 300ms; }

#cookie-notice #cn-accept-cookie:hover,
#cookie-notice #cn-refuse-cookie:hover,
#cookie-notice #cn-more-info:hover,
.content p a.cn-revoke-inline:hover { background-color:#333 !important; color:#fff !important; }

/** GOOGLE MAP **/

.map-frame { width:100%; }
#map_canvas { width:100%; height:500px; }
.map-frame .marker { opacity:0; }
.map-frame .info-box { padding-top:5px; }
.map-frame .info-box p { line-height:1.25em; font-weight:600; text-align:center; }
/*
#map_canvas img { max-width:none; border-radius:10px; }
.map-frame .map-info h3 { font-size:1.3rem; text-align:center; line-height:1.25em; margin-bottom:0; font-weight:600; text-transform:uppercase; }

.map-frame .gmnoprint .gm-style-mtc { display:none !important; }

*/

/*** VIDEO PAGE ***/

.videowrapper { position:relative; padding-bottom:56.25%; height:0; }
.videowrapper iframe { position:absolute; top:0; left:0; width:100%; height:100%; }

@media (min-width:600px) { 

  ul.slick-dots li button { width:1rem; height:1rem; border-radius:0.5rem; }
  ul.slick-dots li.slick-active button { width:2rem; }

}

@media (min-width:900px) { 

  /*form.mc4wp-form .mc4wp-form-fields { flex-direction:row; }*/

}
