/*!
 * Theme Name: V Squared 2024
 * Description: Custom Theme developed by Websites in a Flash for V2
 * Version: 0.01
 * Author: Websites in a Flash
 * Tags: HTML5, CSS3, Custom Theme
 *
 */

 /*------------------------------------*\
     IMPORTS
 \*------------------------------------*/
  @import url('https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300..800;1,300..800&family=Oswald:wght@200..700&display=swap');
/*------------------------------------*\
    DEFAULTS
\*------------------------------------*/
 audio,canvas,video{display:block}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:none}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:ButtonText dotted 1px}legend{color:inherit;display:table;max-width:100%;white-space:normal}progress{display:inline-block;vertical-align:baseline}[type=checkbox],[type=radio],legend{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}[hidden],template{display:none}*,:after,:before{-webkit-box-sizing:border-box;box-sizing:border-box}.clear:after,.clear:before{content:" ";display:table}.clear:after{clear:both}.wp-block-embed__wrapper embed,.wp-block-embed__wrapper iframe,.wp-block-embed__wrapper object{position:absolute;top:0;left:0;width:100%;height:100%}.wp-block-embed.is-type-video.wp-embed-aspect-16-9 .wp-block-embed__wrapper{position:relative;padding-bottom:56.25%;height:0;overflow:hidden;max-width:100%}.wp-block-embed.is-type-video.wp-embed-aspect-4-3 .wp-block-embed__wrapper{position:relative;padding-bottom:75%;height:0;overflow:hidden;max-width:100%}.wp-block-latest-comments__comment-meta{background-color: transparent;}ol.wp-block-latest-comments{padding-left: 0;}

 /*------------------------------------*\
     PRINT STYLES
 \*------------------------------------*/
@media print {*, :after, :before {background: 0 0 !important;color: #000 !important;-webkit-box-shadow: none !important;box-shadow: none !important;text-shadow: none !important;}a, a:visited {text-decoration: underline;}a[href]:after {content: " (" attr(href) ")";}abbr[title]:after {content: " (" attr(title) ")";}a[href^="#"]:after, a[href^="javascript:"]:after {content: "";}blockquote, pre {border: 1px solid #999;}thead {display: table-header-group;}blockquote, img, pre, tr {page-break-inside: avoid;}img {max-width: 100% !important;}h2, h3, p {orphans: 3;widows: 3;}h2, h3 {page-break-after: avoid;}}

/*------------------------------------*\
    ACCESSIBILITY
\*------------------------------------*/
.screenreader-text {
  position: absolute;
  left: -999px;
  width: 1px;
  height: 1px;
  top: auto;
}
.screenreader-text:focus {
  color: #000;
  display: inline-block;
  height: auto;
  width: auto;
  position: static;
  margin: auto;
}

/*------------------------------------*\
    VARIABLES
\*------------------------------------*/
:root {
   /* Sizes and Wrappers */
   --wrapper: clamp(290px, 90vw, 1060px);
   --wrapper-width: 1060px;
   --text-width: 1060px;

   --medium-wrapper: clamp(290px, 90vw, 1200px);
   --medium-wrapper-width: 1200px;
   --medium-wrapper-offset: calc(-1* ((var(--medium-wrapper) - var(--wrapper)) / 2));


   --wide-wrapper: clamp(290px, 90vw, 1440px);
   --wide-wrapper-width: 1440px;
   --wide-wrapper-offset: calc(-1* ((var(--wide-wrapper) - var(--wrapper)) / 2));


   --xl-wrapper: clamp(290px, 95vw, 1920px);
   --xl-wrapper-offset: calc(-1* ((var(--xl-wrapper) - var(--wrapper)) / 2));


   /* Fonts */
   --body-font: 'Open Sans', "Helvetica Neue", Helvetica, Arial, sans-serif;
   --heading-font: "Oswald", "Helvetica Neue", Helvetica, Arial, sans-serif;

   /* Font sizes */
   --body-fs: 18px;
   --xs-fs: 1.2rem;
   --sm-fs: 1.3rem;
   --md-fs: 1.45rem;
   --lg-fs: 1.6rem;
   --xl-fs: 1.75rem;

   /* Other */
   --transition: all 0.15s ease-in-out;
   --box-shadow: 0 2px 6px rgba(0,0,0,0.4);
   --grid-cols: repeat(auto-fit, minmax(350px, 1fr));
   --round-corners: 30px;

   /* Icons */
   --phone-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xml:space='preserve' style='fill-rule:evenodd;clip-rule:evenodd;stroke-linecap:round;stroke-linejoin:round' viewBox='0 0 73 73'%3E%3Cpath d='M100 183.333C100 468.68 331.32 700 616.667 700c12.873 0 25.636-.47 38.276-1.397 14.504-1.063 21.754-1.593 28.357-5.393 5.467-3.147 10.65-8.727 13.39-14.41 3.31-6.86 3.31-14.863 3.31-30.867v-93.91c0-13.46 0-20.19-2.217-25.956a33.288 33.288 0 0 0-9.253-13.214c-4.663-4.053-10.99-6.353-23.637-10.953L558 465.03c-14.717-5.35-22.077-8.027-29.057-7.573a33.336 33.336 0 0 0-17.113 6.07c-5.707 4.043-9.733 10.756-17.79 24.186l-27.373 45.62c-88.33-40.003-159.937-111.703-200-200l45.621-27.372c13.427-8.057 20.141-12.085 24.185-17.792a33.336 33.336 0 0 0 6.07-17.112c.454-6.981-2.223-14.339-7.573-29.055L296.1 135.107c-4.6-12.648-6.9-18.973-10.953-23.637a33.337 33.337 0 0 0-13.213-9.255C266.165 100 259.436 100 245.977 100h-93.91c-16.004 0-24.007 0-30.868 3.308-5.682 2.741-11.261 7.926-14.409 13.393-3.801 6.601-4.332 13.853-5.394 28.357A524.242 524.242 0 0 0 100 183.333Z' style='fill:none;fill-rule:nonzero;stroke:%23000;stroke-width:53.73px' transform='matrix(.11167 0 0 .11167 -8.167 -8.167)'/%3E%3C/svg%3E");
   --phone-icon-alt: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xml:space='preserve' style='fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2' viewBox='0 0 60 67'%3E%3Cpath d='M293.7 144.325S285.45 125 272.85 125c-12.4 0-18.85 5.725-23.15 9.675-4.3 3.95-76.25 63.075-76.25 63.075s-20.925 18.275-19.325 52.65c1.35 34.375 8.075 83.3 42.975 151.45 34.65 68 121.375 171.9 176.175 208.425 0 0 50.775 38.95 98.025 54.775 13.725 4.325 41.175 9.95 47.575 9.95 6.5 0 17.975 0 31.15-9.625 13.4-9.725 88.575-70.175 88.575-70.175s18.4-16.625-2.975-35.95c-21.475-19.325-86.675-62.3-100.625-73.6-13.975-11.475-33.875-6.425-42.475 1.35-8.575 7.825-23.9 20.7-25.775 22.325-2.8 2.15-10.475 9.125-19.075 5.65-10.95-4.325-55.85-28.7-97.475-85.65-41.375-56.9-45.925-75.5-52.1-95.6-2.149-6.096.19-12.926 5.625-16.425 6.2-4.3 29.025-23.325 29.025-23.325s14.775-14.575 8.6-31.75c-6.175-17.175-47.65-117.9-47.65-117.9Z' style='fill-rule:nonzero' transform='matrix(.12182 0 0 .12182 -18.765 -15.227)'/%3E%3C/svg%3E");
   --mail-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xml:space='preserve' style='fill-rule:evenodd;clip-rule:evenodd;stroke-linecap:round;stroke-linejoin:round' viewBox='0 0 73 59'%3E%3Cpath d='m100 266.667 181.664 121.11c42.768 28.51 64.153 42.766 87.263 48.306a133.361 133.361 0 0 0 62.146 0c23.11-5.54 44.497-19.796 87.264-48.306L700 266.667M206.667 633.333h386.666c37.337 0 56.007 0 70.267-7.266a66.653 66.653 0 0 0 29.133-29.134C700 582.673 700 564.003 700 526.667V273.333c0-37.336 0-56.005-7.267-70.266a66.658 66.658 0 0 0-29.133-29.134c-14.26-7.266-32.93-7.266-70.267-7.266H206.667c-37.337 0-56.006 0-70.266 7.266a66.663 66.663 0 0 0-29.135 29.134C100 217.328 100 235.996 100 273.333v253.334c0 37.336 0 56.006 7.266 70.266a66.658 66.658 0 0 0 29.135 29.134c14.26 7.266 32.929 7.266 70.266 7.266Z' style='fill:none;fill-rule:nonzero;stroke:%23000;stroke-width:53.73px' transform='matrix(.11167 0 0 .11167 -8.167 -15.61)'/%3E%3C/svg%3E");
   --mail-icon-alt: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xml:space='preserve' style='fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2' viewBox='0 0 73 51'%3E%3Cpath d='M0 45.717V5.452l20.13 20.083L0 45.717Zm52.861-20.182 20.14-20.088v40.27L52.86 25.535ZM4.821 50.772l20.27-20.277 11.407 11.43L47.91 30.492l20.264 20.281H4.822Zm31.68-18.941L4.692 0l63.618.003-31.807 31.827Z'/%3E%3C/svg%3E");
   --search-icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 8480 8480' xmlns='http://www.w3.org/2000/svg' xml:space='preserve' style='fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2'%3E%3Cpath d='M0 3528.65c0 1946.18 1583.33 3527.78 3527.78 3527.78 895.834 0 1715.28-336.808 2338.54-888.892l2248.26 2248.27c41.667 41.667 95.488 62.5 151.042 62.5s109.375-20.833 151.042-62.5c83.333-83.333 83.333-217.017 0-300.35l-2250-2248.26c552.083-623.263 888.887-1440.97 888.887-2338.54 0-1946.18-1583.33-3527.78-3527.78-3527.78-1944.45 0-3527.78 1581.6-3527.78 3527.78Zm6630.21 0c0 1710.07-1392.36 3102.43-3102.43 3102.43S425.35 5238.72 425.35 3528.65 1817.71 426.22 3527.78 426.22s3102.43 1390.62 3102.43 3102.43Z' style='fill:%23fff;fill-rule:nonzero'/%3E%3C/svg%3E%0A");
   --location-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xml:space='preserve' style='fill-rule:evenodd;clip-rule:evenodd;stroke-linecap:round;stroke-linejoin:round' viewBox='0 0 55 65'%3E%3Cpath d='M21 10c0 7-9 13-9 13s-9-6-9-13c0-4.937 4.063-9 9-9s9 4.063 9 9Z' style='fill:none;fill-rule:nonzero;stroke:%23000;stroke-width:2.24px' transform='translate(-5.045 .318) scale(2.68182)'/%3E%3Ccircle cx='12' cy='10' r='3' style='fill:none;stroke:%23000;stroke-width:2.24px' transform='translate(-5.045 .318) scale(2.68182)'/%3E%3C/svg%3E");
   --location-icon-alt: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xml:space='preserve' style='fill-rule:evenodd;clip-rule:evenodd;stroke-linecap:round;stroke-linejoin:round' viewBox='0 0 55 65'%3E%3Cpath d='M21 10c0 7-9 13-9 13s-9-6-9-13c0-4.937 4.063-9 9-9s9 4.063 9 9Zm-9-4.119A4.121 4.121 0 0 0 7.881 10 4.121 4.121 0 0 0 12 14.119 4.121 4.121 0 0 0 16.119 10 4.121 4.121 0 0 0 12 5.881Z' style='stroke:%23000;stroke-width:2.24px' transform='translate(-5.045 .318) scale(2.68182)'/%3E%3C/svg%3E");
   --hours-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xml:space='preserve' style='fill-rule:evenodd;clip-rule:evenodd;stroke-linecap:round;stroke-linejoin:round' viewBox='0 0 65 65'%3E%3Cpath d='M700 400c0 165.687-134.313 300-300 300-165.685 0-300-134.313-300-300 0-165.685 134.315-300 300-300 165.687 0 300 134.315 300 300Z' style='fill:none;fill-rule:nonzero;stroke:%23000;stroke-width:61.02px' transform='matrix(.09833 0 0 .09833 -6.833 -6.833)'/%3E%3Cpath d='M29.5 16.111c0-1.656 1.344-3 3-3s3 1.344 3 3v14.69l6.738 4.043a3.001 3.001 0 0 1 1.029 4.116 3.001 3.001 0 0 1-4.116 1.03l-8.194-4.918A3 3 0 0 1 29.5 32.5V16.111Z'/%3E%3C/svg%3E");
   --hours-icon-alt: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xml:space='preserve' style='fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2' viewBox='0 0 65 65'%3E%3Cpath d='M65 32.5C65 50.45 50.45 65 32.5 65S0 50.45 0 32.5 14.55 0 32.5 0 65 14.55 65 32.5ZM29.5 16.111V32.5a3 3 0 0 0 1.457 2.572l8.194 4.917c1.42.852 3.264.39 4.116-1.029a3.001 3.001 0 0 0-1.03-4.116L35.5 30.801v-14.69c0-1.656-1.344-3-3-3s-3 1.344-3 3Z'/%3E%3C/svg%3E");
   --down-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xml:space='preserve' style='fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2' viewBox='0 0 87 65'%3E%3Cpath d='M568.036 4334.71 3718.12 656.984 6868.1 4334.72l-585.73 654.37L3718.14 1995.3 1153.78 4989.1l-585.744-654.39Z' style='fill-rule:nonzero' transform='matrix(.0138 0 0 -.01483 -7.844 73.994)'/%3E%3C/svg%3E");
}


/*------------------------------------*\
    GENERAL
\*------------------------------------*/
/* Scrollbar Styling */
/* Firefox */
* {
  scrollbar-width: auto;
  scrollbar-color: #444 #8b8b8b;
}

/* Chrome, Edge, and Safari */
*::-webkit-scrollbar {
  width: 10px;
}

*::-webkit-scrollbar-track {
  background-color: #8b8b8b;
}

*::-webkit-scrollbar-thumb {
  background-color: #444;
}

html {
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  font-size: var(--body-fs);
  height: 100%;
  overflow-x: hidden;
  scroll-behavior: smooth;
  -webkit-tap-highlight-color: transparent;
}

body {
  margin: 0;
  font-family: var(--body-font);
  line-height: 1.5;
  color: var(--text);
  background-color: var(--background);
}

#wrapper {
  position: relative;
  z-index: 1;
  width: var(--wrapper);
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  min-height: calc(100vh - var(--header-height));
}

.alignfull {
  margin: 0 calc(50% - 50vw);
  width: 100vw;
}

.alignwide {
  width: var(--wide-wrapper);
  max-width: var(--wide-wrapper-width);
  margin-left: auto;
  margin-right: auto;
  position: relative;
  left: var(--wide-wrapper-offset);
  right: var(--wide-wrapper-offset);
}

.alignmedium {
  width: var(--medium-wrapper);
  max-width: var(--medium-wrapper-width);
  margin-left: auto;
  margin-right: auto;
  position: relative;
  left: var(--medium-wrapper-offset);
  right: var(--medium-wrapper-offset);
}

.alignxl {
  width: var(--xl-wrapper);
  max-width: var(--xl-wrapper-width);
  margin-left: auto;
  margin-right: auto;
  position: relative;
  left: var(--xl-wrapper-offset);
  right: var(--xl-wrapper-offset);
}

/*------------------------------------*\
    MARGINS & WRAPPERS
\*------------------------------------*/
/* main>section>article>*:first-child {
  margin-top: 80px;
}

.archive main>section>article>*:first-child,
.index article>*:first-child,
main>section>article>.page-block:first-child,
main>section>article>.wp-block-group.alignfull:first-child,
main>section>article>.wp-block-cover:first-child,
main>section>article>.wp-block-image:first-child,
main>section>article>.wp-block-media-text:first-child {
  margin-top: 0;
} */

main>section>article>*:last-child {
  margin-bottom: 40px;
}

main>section>article>.page-block:last-child,
main>section>article>.wp-block-group.alignfull:last-child,
main>section>article>.wp-block-media-text:last-child,
main>section>article>.wp-block-cover:last-child,
main>section>article>.wp-block-image:last-child {
  margin-bottom: 0;
}

.alignfull>.wp-block-group__inner-container,
.page-block>.wp-block-group__inner-container,
.wp-block-cover>.wp-block-cover__inner-container {
  width: var(--wrapper);
  margin: auto;
}

.xl-block>.wp-block-group__inner-container {
  width: var(--xl-wrapper);
  margin: auto;
}

.page-block,
#wrapper>.wp-block-group.alignfull,
article>.wp-block-group.alignfull,
article>.wp-block-cover.alignfull {
  padding: 80px 0;
}

.wp-block-group.has-background:not(.alignfull) {
  padding: 40px;
}

.wp-block-media-text .wp-block-media-text__content {
  padding-top: 60px;
  padding-bottom: 60px;
}

.wp-block-media-text.alignfull .wp-block-media-text__content {
  padding-top: 80px;
  padding-bottom: 80px;
}

.wp-block-media-text:not(.alignfull):not(.has-media-on-the-right):not(.has-background) .wp-block-media-text__content {
  padding-right: 0;
}

.wp-block-media-text.has-media-on-the-right:not(.alignfull):not(.has-background) .wp-block-media-text__content {
  padding-left: 0;
}

.wp-block-media-text.has-background:not(.is-image-fill):not(.has-media-on-the-right) {
  padding: 40px;
}

.wp-block-media-text.has-media-on-the-right.has-background:not(.is-image-fill) {
  padding: 40px;
}

@media screen and (min-width: 601px) {
  .wp-block-media-text.is-style-no-padding .wp-block-media-text__content   {
    padding-top: 0;
    padding-bottom: 0;
  }
}

.wp-block-media-text p:last-child {
  margin-bottom: 0;
}

/*------------------------------------*\
    HEADINGS
\*------------------------------------*/
h1, h2, h3, h4, h5, h6 {
  margin-top: 0;
  line-height: 1.25;
  word-break: break-word;
}

h1, h2, h3 {
  margin-bottom: 0.4em;
  font-family: var(--heading-font);
  color: var(--white);
}

h4, h5, h6 {
  margin-bottom: 0.6em;
}

h1 {
  font-size: var(--xl-fs);
}

h2 {
  font-size: var(--lg-fs);
}

h3 {
  font-size: var(--md-fs);
}

h4 {
  font-size: var(--sm-fs);
}

h5 {
  font-size: var(--xs-fs);
}

h6 {
  font-size: var(--body-fs);
}

/*------------------------------------*\
    PAGE HEADER
\*------------------------------------*/
h1.page-title {
  width: 100%;
  line-height: 1.6;
  font-weight: 600;
  text-transform: uppercase;
  text-decoration: underline;
  text-decoration-color: var(--main);
  text-decoration-thickness: 2px;
  text-underline-offset: 12px;
  padding-bottom: 6px;
  border-bottom: 1px solid #080808;
  box-shadow: 0 1px 0 rgba(34, 34, 34, 0.8);
  -webkit-box-shadow: 0 1px 0 rgba(34, 34, 34, 0.8);
}

.single-post h1 {
  text-transform: var(--h1-text-transform) !important;
  text-align: var(--h1-alignment);
}

.page-title.has-line::before {
  background: var(--title-line-color);
}

.page-header .post-details {
  text-align: var(--h1-alignment);
  margin-left: auto;
  margin-right: auto;
}

.page-header {
  margin-top: 2em !important;
  margin-bottom: 3em;
}

.page-header .page-title {
  margin-bottom: 0;
}

.single-post .page-header .post-details {
  max-width: var(--h1-width);
}

.page-title {
  margin-left: auto;
  margin-right: auto;
}

.page-title.has-line {
  position: relative;
}

.page-title.has-line::before {
    content: '';
    display: block;
    width: 100%;
    height: 1px;
    position: absolute;
    top: 50%;
    z-index: 1;
}

.page-title.has-line span {
    display: inline-block;
    position: relative;
    z-index: 2;
    background: var(--background);
    padding: 20px 0;
}

.page-title.has-line.text-align-left {
  text-align: left;
}

.page-title.has-line.text-align-left span {
  padding: 20px 20px 20px 0;
}

.page-title.has-line.text-align-center {
  text-align: center;
}

.page-title.has-line.text-align-center span {
  padding: 20px;
}

.page-title.has-line.text-align-right {
  text-align: right;
}

.page-title.has-line.text-align-right span {
  padding: 20px 0 20px 20px;
}

/* .single-post h1 {
  max-width: var(--wrapper);
} */

/*------------------------------------*\
    GENERAL TEXT
\*------------------------------------*/
main p,
body:not(.archive) main:not(.index) h1,
main h2,
main h3,
main h4,
main h5,
main h6,
main ul:not(.splide__pagination.splide__pagination--ltr),
main ol,
.wp-block-quote,
.wp-block-media-text__content>* {
  max-width: 100%;
  /* max-width: var(--text-width); */
  /* margin-left: auto; */
  /* margin-right: auto; */
}

a {
  color: var(--anchor);
}

main a {
  color: var(--anchor);
  text-decoration: var(--link-underline);
  word-break: break-word;
}

a,
main h1 a,
main h2 a,
main h3 a,
main h4 a,
main h5 a,
main h6 a {
  text-decoration: none;
}

article li {
  margin-bottom: 0.75em;
}

article ul, article ol {
  margin-bottom: 2em;
  padding-left: 2em;
}

article ul li ul,
article ol li ol {
  margin-top: 0.75em;
  margin-bottom: 1.5em;
}

article ol ol {
  list-style-type: lower-alpha;
}

article ol ol ol {
  list-style-type: lower-roman;
}

article p, article .wp-block-quote {
  margin-top: 0;
  margin-bottom: 1.4em;
}

p.fw-text, h1.fw-text, h2.fw-text, h3.fw-text, h4.fw-text, h5.fw-text, h6.fw-text, .fw-text p, .fw-text h1, .fw-text h2, .fw-text h3, .fw-text h4, .fw-text h5, .fw-text h6 {
  max-width: 100%;
}

.wp-block-quote:not(.is-style-plain) {
  margin-left: auto;
  margin-right: auto;
  padding-left: 20px;
  border-left: thick solid var(--text);
}

article .wp-block-quote>p:last-of-type {
  margin-bottom: 1em;
}

.wp-block-quote cite::before,
.wp-block-pullquote cite::before {
  content: "- ";
  display: inline;
}

.wp-block-details.has-background {
  padding: 15px;
  margin-bottom: 1em;
}

/*------------------------------------*\
    BUTTONS
\*------------------------------------*/
.wp-block-buttons {
  max-width: var(--text-width);
  margin-left: auto;
  margin-right: auto;
}

.wp-block-button__link,
.wp-element-button {
  color: var(--background);
  background-color: var(--main);
  border-radius: 0;
  padding: 15px 40px;
  line-height: 1;
  font-size: 1.125em;
  text-transform: uppercase;
  text-decoration: none;
  font-weight: 600;
  transition: var(--transition);
  -webkit-transition: var(--transition);
  appearance: none;
  -webkit-appearance: none;
}

.wp-element-button {
  font-size: 1rem;
  font-weight: 500;
}

.wp-block-button__link:hover {
  --button-background-color: var(--accent);
  color: var(--accent);
  background-color: var(--alternate1);
  transform: scale(1.025);
}

.wp-element-button:hover {
  --button-background-color: var(--accent);
  color: var(--accent);
  background-color: var(--alternate1);
}

.plain-button {
  margin: 1em 0;
}

.plain-button .wp-block-button__link {
  background: transparent;
  color: var(--text);
  padding: 0;
  margin-left: 1ch;
  text-decoration: underline;
  text-transform: none;
  text-align: initial;
  white-space: nowrap;
  font-weight: normal;
}

.plain-button .wp-block-button__link:hover {
  --button-background-color: var(--anchor);
  transform: none;
  color: var(--anchor);
}

.wp-block-button.is-style-phone-button .wp-block-button__link,
.wp-block-button.is-style-phone-button-alt .wp-block-button__link,
.wp-block-button.is-style-email-button .wp-block-button__link,
.wp-block-button.is-style-email-button-alt .wp-block-button__link {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1ch;
}

.wp-block-button.is-style-phone-button .wp-block-button__link::before,
.wp-block-button.is-style-phone-button-alt .wp-block-button__link::before,
.wp-block-button.is-style-email-button .wp-block-button__link::before,
.wp-block-button.is-style-email-button-alt .wp-block-button__link::before {
  content: '';
  display: inline-block;
  background: var(--button-background-color);
  height: 1em;
  width: 1em;
  line-height: 1em;
  margin-left: -1ch;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  transition: var(--transition);
}

.wp-block-button.is-style-phone-button:hover .wp-block-button__link::before,
.wp-block-button.is-style-phone-button-alt:hover .wp-block-button__link::before,
.wp-block-button.is-style-email-button:hover .wp-block-button__link::before,
.wp-block-button.is-style-email-button-alt:hover .wp-block-button__link::before {
	background: var(--button-background-color) !important;
}

.wp-block-button.is-style-phone-button:hover .wp-block-button__link::before,
.wp-block-button.is-style-phone-button-alt:hover .wp-block-button__link::before,
.wp-block-button.is-style-email-button:hover .wp-block-button__link::before,
.wp-block-button.is-style-email-button-alt:hover .wp-block-button__link::before {
  background: var(--main);
}

.wp-block-button.is-style-phone-button a::before {
  -webkit-mask-image: var(--phone-icon);
  mask-image: var(--phone-icon);
}

.wp-block-button.is-style-phone-button-alt a::before {
  -webkit-mask-image: var(--phone-icon-alt);
  mask-image: var(--phone-icon-alt);
}

.wp-block-button.is-style-email-button a::before {
  -webkit-mask-image: var(--mail-icon);
  mask-image: var(--mail-icon);
}

.wp-block-button.is-style-email-button-alt a::before {
  -webkit-mask-image: var(--mail-icon-alt);
  mask-image: var(--mail-icon-alt);
}

.wp-block-social-links {
  margin-bottom: 20px;
}


.wp-block-search__button {
  border: none;
}

/*------------------------------------*\
    UTILITIES
\*------------------------------------*/
.mt-0 {
  margin-top: 0 !important;
}

.mb-0 {
  margin-bottom: 0 !important;
}

.aspect-ratio-16-9 {
  aspect-ratio: 16 / 9;
}

.subheading,
.is-style-subheading {
  font-weight: 600;
  font-size: var(--sm-fs);
  margin-bottom: 1rem;
}

.rounded,
.rounded-img img,
.wp-block-image.is-style-rounded-corners img,
.wp-block-media-text.is-style-rounded,
.wp-block-media-text.is-style-rounded-corners  {
  border-radius: var(--round-corners);
  overflow: hidden;
}

.box-shadow,
.is-style-box-shadow {
  box-shadow: var(--box-shadow);
}

.wp-block-image.is-style-rounded-corners-shadow img,
.wp-block-media-text.is-style-rounded-corners-shadow {
  box-shadow: var(--box-shadow);
  border-radius: var(--round-corners);
  overflow: hidden;
}

.wp-block-image.is-style-wrapper-width img {
  width: 100%;
}

h2.icon-heading {
  display: flex;
  align-items: center;
  gap: 10px;
}

.gallery-no-gap {
  gap: 0 !important;
}

.gallery-4-3 figure {
  aspect-ratio: 4 / 3;
}

.blurred-bg .wp-block-cover__image-background,
.is-style-blurred-background  .wp-block-cover__image-background {
  filter: blur(6px);
}

/* Location Icon */
.location-icon,
.location-icon-alt,
.hours-table,
.hours-table-alt {
  display: flex;
  flex-wrap: nowrap;
  gap: 1ch;
}

.location-icon::before,
.location-icon-alt::before,
.hours-table::before,
.hours-table-alt::before {
  content: '';
  display: inline-block;
  background: var(--text);
  height: 1em;
  width: 1em;
  line-height: 1em;
  margin-top: 6px;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  transition: var(--transition);
}

.location-icon::before {
  -webkit-mask-image: var(--location-icon);
  mask-image: var(--location-icon);
}

.location-icon-alt::before {
  -webkit-mask-image: var(--location-icon-alt);
  mask-image: var(--location-icon-alt);
}

/* Hours Table */
.hours-table::before {
  -webkit-mask-image: var(--hours-icon);
  mask-image: var(--hours-icon);
}

.hours-table-alt::before {
  -webkit-mask-image: var(--hours-icon-alt);
  mask-image: var(--hours-icon-alt);
}

.hours-table,
.hours-table-alt {
  max-width: 250px;
}

.hours-table td,
.hours-table-alt td {
  padding: 0;
  border: none;
}

/* Logged in & logged out */
body.logged-in .logged-in-only {
  display: block;
}

body:not(.logged-in) .logged-in-only {
  display: none;
}

body.logged-in .logged-out-only {
  display: none;
}

body:not(.logged-in) .logged-out-only {
  display: block;
}

/* Desktop & Mobile only */
@media screen and (min-width: 782px) {
  .desktop-only {
    display: block;
  }

  .mobile-only {
    display: none;
  }
}

@media screen and (max-width: 781px) {
  .desktop-only {
    display: none;
  }

  .mobile-only {
    display: block;
  }
}

/*------------------------------------*\
    HALF COVERS
\*------------------------------------*/
.half-cover,
.is-style-half-cover {
  padding: 0;
  justify-content: flex-start;
}

.half-cover .wp-block-cover__inner-container,
.is-style-half-cover .wp-block-cover__inner-container {
  margin: 0;
  margin-right: auto;
  width: 50%;
  padding: 80px 8%;
}

.half-cover .wp-block-cover__background,
.is-style-half-cover .wp-block-cover__background {
  margin: 0;
  margin-right: auto;
  width: 50%;
  position: absolute;
  top: 0;
  bottom: 0;
}

/*------------------------------------*\
    CARDS
\*------------------------------------*/
.cards {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: stretch !important;
  justify-content: center;
  gap: 2rem;
  margin: 60px auto;
}

.card {
  background: var(--background);
  color: var(--text);
  border-radius: 5px;
  padding: 40px;
  flex-basis: 30%;
  min-width: 290px;
  max-width: 400px;
  flex-grow: 1;
}

.card h3 {
  font-size: var(--sm-fs);
  margin-bottom: 0;
}

.single-col-cards {
  gap: 0;
  margin: 0;
}

.single-col-cards .card {
  flex-basis: 100%;
  margin-bottom: 2rem;
  border-bottom: 4px solid var(--main);
}

.card>.wp-block-group__inner-container *:first-child {
  margin-top: 0;
}

.card>.wp-block-group__inner-container *:last-child {
  margin-bottom: 0;
}

.card .wp-block-button__link {
  font-size: 1rem;
}

.cards .wp-block-image {
  margin-bottom: 20px;
}

.image-cards .wp-block-image img {
  width: 100%;
  border-radius:5px 5px 0 0;
}

.image-cards .wp-block-image {
  max-width: calc(100% + 80px);
  width: calc(100% + 80px);
  margin-top: -40px !important;
  margin-left: -40px;
}

/*------------------------------------*\
    BIG NUMBERS LIST
\*------------------------------------*/
.big-numbers-list {
	counter-reset: section;
}

.big-numbers-list .number {
	display: flex;
	gap: 40px;
}

.big-numbers-list .number::before {
  content: counters(section,"");
  counter-increment: section;
	font-weight: 600;
	display: inline-block;
	font-size: 4.5rem;
	line-height: 1;
	color: var(--main);
	width: 1ch;
}

@media screen and (max-width: 600px) {
	.big-numbers-list .number {
		gap: 20px;
	}

	.big-numbers-list .number::before {
		font-size: 3rem;
	}
}


/*------------------------------------*\
    IMAGE BUTTONS
\*------------------------------------*/
.image-buttons {
  gap: 20px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}

.image-buttons figure {
  position: relative;
  flex-basis: calc(25% - 20px);
  max-width: 350px;
  background: #000;
}

.image-buttons a {
  display: block;
  position: relative;
}

.image-buttons img {
  max-width: unset;
  width: 100%;
  height: 100%;
  transition: var(--transition);
  opacity: 0.5;
}

.image-buttons img,
.image-buttons a,
.image-buttons figure {
  aspect-ratio: 4 / 3;
  object-position: center;
  overflow: hidden;
  object-fit: cover;
}

.image-buttons figure:hover img {
  transform: scale(1.08);
}

.image-buttons figcaption {
  position: absolute;
  margin: auto;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 15px;
  color: var(--background);
  font-size: var(--sm-fs);
  text-shadow: 4px 4px 4px rgba(0, 0, 0, 0.8);
  text-align: center;
  pointer-events: none;
}

@media screen and (max-width: 1280px) {
  .image-buttons figcaption {
    font-size: var(--xs-fs);
  }
}

@media screen and (max-width: 1080px) {
  .image-buttons figure {
    flex-basis: calc(50% - 20px);
  }

  .image-buttons-container {
    padding-bottom: 40px !important;
  }
}

@media screen and (max-width: 600px) {
  .image-buttons figure {
    flex-basis: 100%;
    max-width: unset;
  }

  .image-buttons a {
    aspect-ratio: 3 / 1;
  }

  .image-buttons-container {
    padding-bottom: 0 !important;
  }
}

/*------------------------------------*\
    MASONRY GALLERIES
\*------------------------------------*/
.masonry-gallery {
  width: calc(100% + 10px);
  position: relative;
  margin: auto;
  left: -5px;
  gap: 0;
  container-type: inline-size;
}

.masonry-gallery.alignfull {
  width: 100vw;
  left: 0;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

.masonry-gallery.wp-block-gallery.has-nested-images figure.wp-block-image figcaption {
  width: calc(100% - 10px);
  left: 5px;
  bottom: 5px;
}

.masonry-gallery .wp-block-image {
  padding: 5px;
}

.masonry-gallery.columns-2.wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image) {
  width: 50%;
}

.masonry-gallery.columns-3.wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image),
.masonry-gallery.columns-default.wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image) {
  width: calc(100% / 3);
}

.masonry-gallery.columns-4.wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image) {
  width: 25%;
}

.masonry-gallery.columns-5.wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image) {
  width: 20%;
}

.masonry-gallery.columns-6.wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image) {
  width: calc(100% / 6);
}

.masonry-gallery.columns-7.wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image) {
  width: calc(100% / 7);
}

.masonry-gallery.columns-8.wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image) {
  width: calc(100% / 8);
}

@container (max-width: 700px) {
  .masonry-gallery.columns-8.wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image),
  .masonry-gallery.columns-7.wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image) {
    width: calc(100% / 6);
  }
}

@container (max-width: 600px) {
  .masonry-gallery.columns-8.wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image),
  .masonry-gallery.columns-7.wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image),
  .masonry-gallery.columns-6.wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image),
  .masonry-gallery.columns-5.wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image) {
    width: calc(100% / 4);
  }
}

@container (max-width: 500px) {
  .masonry-gallery.columns-8.wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image),
  .masonry-gallery.columns-7.wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image),
  .masonry-gallery.columns-6.wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image),
  .masonry-gallery.columns-5.wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image),
  .masonry-gallery.columns-4.wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image) {
    width: calc(100% / 3);
  }
}

@container (max-width: 350px) {
  .masonry-gallery.columns-8.wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image),
  .masonry-gallery.columns-7.wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image),
  .masonry-gallery.columns-6.wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image),
  .masonry-gallery.columns-5.wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image),
  .masonry-gallery.columns-4.wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image),
  .masonry-gallery.columns-3.wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image),
  .masonry-gallery.columns-default.wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image) {
    width: calc(100% / 2);
  }
}

/*------------------------------------*\
    IMAGE GALLERIES
\*------------------------------------*/
.wiaf-gallery .wp-block-group__inner-container {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  grid-template-rows: 30vh;
}

.wiaf-gallery.alignfull .wp-block-group__inner-container {
  width: 100%;
}

.wiaf-gallery .wp-block-image {
  display: flex;
  position: relative;
  margin: 5px;
}

.wiaf-gallery .wp-block-image img {
  object-fit: cover;
  object-position: center;
  width: 100%;
  height: 100%;
}

.wiaf-gallery figcaption {
  background: rgba(0,0,0,0.8);
  color: var(--white);
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0;
  padding: 20px;
  text-align: center;
}

.wiaf-gallery .wp-block-image:nth-child(3n + 1) {
  grid-row: span 2;
}

.wiaf-gallery .wp-block-image:nth-child(3n + 2) {
  grid-column: span 2;
}

@media screen and (min-width: 1440px) {
  .wiaf-gallery .wp-block-image:nth-child(3n + 1) {
    grid-row: span 2;
  }

   .wiaf-gallery .wp-block-image:nth-child(3n + 2) {
    grid-column: span 2;
  }

  .wiaf-gallery .wp-block-image:nth-child(3n + 3) {
    grid-column: span 1;
  }

  .wiaf-gallery .wp-block-image:nth-child(2n + 2) {
    grid-column: span 1;
  }
}

@media screen and (max-width: 1080px) {
  .wiaf-gallery .wp-block-group__inner-container {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
  }

  .wiaf-gallery .wp-block-image {
    flex-basis: calc(100% - 10px);
  }

  .wiaf-gallery .wp-block-image:nth-child(3n+1),
  .wiaf-gallery .wp-block-image:nth-child(3n+2){
    flex-basis: calc(50% - 10px);
  }
}


@media screen and (max-width: 480px) {
  .wiaf-gallery .wp-block-image {
    flex-grow: 1;
    flex-basis: calc(50% - 10px) !important;
    max-height: 250px;
  }
}

/*------------------------------------*\
    STANDARD PAGE LAYOUT
\*------------------------------------*/
main {
  background: rgba(0,0,0,0.8);
  border-radius: 5px;
  padding: 60px 40px 40px 40px;
}

body.home main {
  margin-top: 400px;
}

/*------------------------------------*\
    SINGLE POST LAYOUT
\*------------------------------------*/
body.page-template-template-page-sidebar #wrapper,
body.page-template-template-single-sidebar #wrapper {
  width: var(--medium-wrapper);
}

body:not(.single-post) .page-header .post-details {
  display: none;
}

.wp-block-post-featured-image {
  margin-bottom: 0;
}

#page-content:not(.no-thumb) {
  padding-top: 40px;
}

/*------------------------------------*\
    SIDEBAR LAYOUT
\*------------------------------------*/
.wp-block-columns.sidebar-cols {
  gap: 60px;
  margin-bottom: 60px;
}

.wp-block-columns.sidebar-cols>.wp-block-column {
  flex-grow: unset;
}

.page-template-template-page-sidebar .content-col,
.single-post .content-col {
  padding: 60px 60px 60px 0;
}

.content-col {
  border-right:2px solid var(--grey);
  flex-basis: 70% !important;
}

.sidebar-col {
  flex-basis: 30% !important;
}

.sidebar {
  background: var(--background);
  padding: 0 0 60px;
  /* border-bottom: 4px solid var(--main); */
  position: sticky;
  top: 80px;
}

.sidebar h2 {
  font-size: var(--md-fs);
}

/* Hide search from sidebar on search page */
body.search .sidebar .widget_block.widget_search {
  display: none;
}

/*------------------------------------*\
    ARCHIVES AND POST LOOP
\*------------------------------------*/
.post-container {
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.post-container article {
  padding: 40px 0;
}


.post-container article:first-child {
  padding: 0 0 40px 0;
}


.post-container article .wp-block-media-text {
  grid-template-columns: 35% 65%;
}

.post-container article.no-posts {
  display: block;
  padding: 0;
}

.post-container article:not(:last-of-type) {
  border-bottom: 1px solid var(--main);
}

.post-container .post-thumb figure,
.post-container .post-thumb img {
  aspect-ratio: 1 / 1;
  object-fit: cover;
  object-position: center;
}

.post-container h2 {
  margin-bottom: 0;
}

.post-container .post-thumb img {
  width: 100%;
}

.post-container .date {
  display: inline-block;
  margin-bottom: 15px;
  font-size: 0.9rem;
  font-style: italic;
  color: #8b8b8b;
}

.read-more-container {
  max-width: unset;
}

/* PAGINATION */
.pagination-block {
  text-align: center;
  font-size: 1.25rem;
  font-weight: 500;
}

.pagination-block .page-numbers {
  margin: 0 10px;
}

.pagination-block .current.page-numbers {
  text-decoration: underline;
}

.pagination-block .next.page-numbers,
.pagination-block .prev.page-numbers {
  position: relative;
  margin: 0 25px;
}

/*------------------------------------*\
    VIDEO THUMBNAILS
\*------------------------------------*/
.video-thumbs {
  display: flex;
  justify-content: center;
  flex-grow: 1;
  flex-wrap: wrap;
}

.video-thumb {
  flex-basis: calc(100% / 3);
  padding: 10px;
}

.video-thumb img {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  object-position: center;
}

.video-thumb h2 {
  font-size: var(--xs-fs);
  font-weight: normal;
}

.video-thumb a {
  text-decoration: none !important;
}

/*------------------------------------*\
    MISCELLANEOUS
\*------------------------------------*/
input {
  font-family: var(--body-font);
}

.wp-block-column.has-background {
  padding: 40px;
}

/* Details blocks */
details summary {
  display: flex;
  align-items: center;
  gap: 1ch;
}

details summary::before {
  content: "";
  display: block;
  width: 14px;
  height: 14px;
  background: var(--text);
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xml:space='preserve' style='fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2' viewBox='0 0 12 15'%3E%3Cpath d='M12 7.295 0 14.591V0l12 7.295Z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xml:space='preserve' style='fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2' viewBox='0 0 12 15'%3E%3Cpath d='M12 7.295 0 14.591V0l12 7.295Z'/%3E%3C/svg%3E");
  -webkit-mask-position: center;
  mask-position: center;
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  transition: var(--transition);
}

details[open] summary::before {
  transform: rotate(90deg);
}

details.is-style-h2-summary summary h2,
details.is-style-h3-summary summary h3,
details.is-style-h4-summary summary h4,
details.is-style-h5-summary summary h5,
details.is-style-h6-summary summary h6 {
  display: inline-block;
  margin: 0;
}

/* Breadcrumbs */
.breadcrumbs {
  width: 100vw;
  margin: 0 calc(50% - 50vw);
  padding: 4px 0;
  background: var(--light-grey);
}

.breadcrumbs-inner {
  width: var(--wide-wrapper);
  margin: auto;
  font-size: 0.8rem;
}

.breadcrumbs ul {
  display: flex;
  flex-direction: row;
  gap: 1ch;
  flex-wrap: wrap;
  list-style: none;
  margin: 0;
}

/*------------------------------------*\
    WOOCOMMERCE
\*------------------------------------*/
.woocommerce .related.products {
  clear: both;
}

.woocommerce span.onsale {
  background-color: var(--main);
}

.woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product p.price, .woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product span.price {
  color: var(--accent);
}

/*------------------------------------*\
    NINJA FORMS
\*------------------------------------*/
.nf-form-fields-required {
  display: none;
}

.nf-form-cont {
  max-width: var(--text-width);
  margin: auto;
}

.nf-form-cont * {
  font-family: var(--body-font);
}

.nf-field-element input, .nf-field-element select, .nf-field-element textarea {
  font-size: var(--body-fs);
  padding: 6px;
}

.nf-form-content input[type="submit"] {
  color: var(--background) !important;
  background: var(--main) !important;
  padding: 15px 40px;
  line-height: 1;
  font-size: 1.125rem;
  text-transform: uppercase;
  font-family: var(--body-font);
  font-weight: 600;
  transition: var(--transition);
  -webkit-transition: var(--transition);
}

.nf-form-content input[type="submit"]:hover {
  color: var(--accent) !important;
  background-color: var(--alternate1) !important;
  transform: scale(1.025);
}

/*------------------------------------*\
    SPLIDE SLIDER
\*------------------------------------*/
.splide .wp-element-caption {
  text-align: center;
  width: var(--wrapper);
  margin-left: auto;
  margin-right: auto;
}

.wp-block-splide-carousel {
  margin-bottom: 60px;
}

.splide .splide__arrows--ltr .splide__arrow--prev {
  left: 20px;
}

.splide .splide__arrows--ltr .splide__arrow--next {
  right: 20px;
}

/*------------------------------------*\
    BACKGROUND SLIDER
\*------------------------------------*/
.bgslider {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 0;
}

.bgslider .splide,
.bgslider .splide__track,
.bgslider .bgslider-image {
  height: 100%;
  width: 100%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

/*------------------------------------*\
      AUDIO PLAYER
\*------------------------------------*/
.playlist-container {
  max-width: 100%;
}

.audioalbum, .audioheading, .track {
  background-color: rgba(0,0,0,0.5) !important;
}

.track .wp-audio-shortcode.mejs-audio .mejs-inner > .mejs-controls, .track .audiobutton a {
  background-color: rgba(0,0,0,0.7) !important;
}


/*------------------------------------*\
    FOOTER
\*------------------------------------*/

footer {
  width: var(--wrapper);
  background: rgba(0,0,0,0.8);
  border-radius: 5px;
  margin: 40px auto 25px;
}

footer.alignfull {
  margin-top: auto;
}

.footer__inner-container {
  width: var(--wrapper);
  margin-left: auto;
  margin-right: auto;
}

footer .widget-area>*:first-child {
  padding-top: 60px;
}

footer .widget-area>*:last-child {
  padding-bottom: 40px;
}

footer .wp-block-columns {
  justify-content: space-between;
}

footer .wp-block-column {
  flex-grow: 0 !important;
  flex-basis: auto !important;
  width: fit-content;
}

footer .wp-block-column>*:first-child {
  margin-top: 0;
}

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

footer .menu {
  text-transform: uppercase;
  list-style: none;
  padding-left: 0;
  margin-top: 0;
}

footer .menu li {
  margin-bottom: 0.8rem;
  white-space: nowrap;
}

footer .horizontal-nav ul {
	list-style: none;
	display: flex;
  flex-wrap: wrap;
  justify-content: center;
	gap: 40px;
	padding-left: 0;
	margin-top: 40px;
	margin-bottom: 0;
}

.copyright-wrapper {
  color: var(--white);
  padding: 15px;
  font-size: 0.8em;
}

.terms-privacy-links a {
  color: var(--white);
}

.terms-privacy-links {
  margin-bottom: 10px;
}

#scroll-to-top {
  z-index: 10;
  position: fixed;
  bottom: 2%;
  right: 5%;
}

#scroll-to-top a {
  display: block;
  height: 3rem;
  width: 3rem;
  transition: var(--transition);
  opacity: 0.5;
}

#scroll-to-top a:hover {
  opacity: 1;
}

#scroll-to-top svg {
  transform: scale(0.9);
}

#scroll-to-top svg path {
  height: 100%;
  width: 100%;
  fill: var(--main);
}

#scroll-to-top #stt-arrow {
  stroke: var(--black);
  stroke-width: 1;
}

#scroll-to-top #stt-ring-outer {
  fill: var(--black);
  stroke: var(--black);
  stroke-width: 1;
}

/*------------------------------------*\
    MEDIA QUERIES
\*------------------------------------*/
@media screen and (min-width: 1600px) {
  .is-style-half-cover .wp-block-cover__inner-container>.wp-block-group,
  .half-cover .wp-block-cover__inner-container>.wp-block-group {
    padding-left: 0 !important;
  }
}

@media screen and (max-width: 1280px) {
  .sidebar-cols {
    flex-wrap: wrap !important;
  }

  .content-col,
  .sidebar-col {
    flex-basis: 100% !important;
  }

  .page-template-template-page-sidebar .content-col,
  .single-post .content-col,
  .content-col {
    padding-top: 0;
    padding-right: 0;
    border-right: none;
    border-bottom: 2px solid var(--grey);
  }

  .sidebar {
    border-bottom: 0;
    padding-left: 0;
    padding-right: 0;
  }
}

@media screen and (max-width: 1024px) {
  .is-style-half-cover .wp-block-cover__inner-container,
  .is-style-half-cover .wp-block-cover__background,
  .half-cover .wp-block-cover__inner-container,
  .half-cover .wp-block-cover__background {
    width: 60vw;
  }

  footer .wp-block-columns img {
    max-width: 280px;
  }
}

@media screen and (max-width: 951px) {
  .page-header {
    margin-top: 0 !important;
  }
}

@media screen and (max-width: 850px) {
  .card {
    flex-basis: 100%;
  }

  .wp-block-image .alignright,
  .wp-block-image .alignleft {
    margin: 1em auto;
    float: none;
  }


}

@media screen and (min-width: 782px) {
  .content-col {
    padding-right: 60px;
    padding-top: 0 !important;
  }
}

@media screen and (max-width: 781px) {
  body.home main {
    margin-top: 0;
  }

  footer .wp-block-columns {
    display: grid !important;
    grid-template-columns: auto auto;
    justify-content: space-evenly;
    justify-items: center;
  }

  footer .wp-block-column:nth-child(1) {
    grid-column: span 2;
  }
}

@media screen and (max-width: 650px) {
  .video-thumb {
    flex-basis: 50%;
  }
}

@media (max-width: 600px) {
  .is-style-half-cover .wp-block-cover__inner-container,
  .is-style-half-cover .wp-block-cover__background,
  .half-cover .wp-block-cover__inner-container,
  .half-cover .wp-block-cover__background {
    width: 100vw;
  }

  .wp-block-media-text .wp-block-media-text__content {
    margin: auto;
  }

  .wp-block-media-text:not(.media-text-no-padding) .wp-block-media-text__content,
  .wp-block-media-text:not(.is-style-no-padding) .wp-block-media-text__content,
  .wp-block-media-text:not(.has-background) .wp-block-media-text__content {
    padding: 40px 8% 60px !important;
  }

  .wp-block-media-text.media-text-no-padding .wp-block-media-text__content,
  .wp-block-media-text.is-style-no-padding .wp-block-media-text__content {
    padding: 40px 0 60px !important;
    width: 100%;
  }


  .wp-block-media-text.has-background:not(.is-style-no-padding):not(.is-image-fill) .wp-block-media-text__content {
    padding: 40px 0 !important;
  }

  .wp-block-media-text.has-background.alignfull .wp-block-media-text__content {
    width: 100%;
    margin: auto;
    padding: 60px 8%;
  }

  .wp-block-image .alignleft,
  .wp-block-image .alignright {
    float: none;
    margin: .5em auto;
  }

  .post-container article {
    grid-template-columns: 1fr;
    padding-top: 60px;
    padding-bottom: 60px;
  }

  .post-container article:not(:last-of-type) {
    border-bottom: 1px solid var(--grey);
  }
}

@media screen and (max-width: 500px) {
  :root {
    /* Font sizes */
    --xs-fs: 1.1rem;
    --sm-fs: 1.4rem;
    --md-fs: 1.65rem;
    --lg-fs: 1.9rem;
    --xl-fs: 2.2rem;
  }

  .video-thumb {
    flex-basis: 100%;
  }

  footer .wp-block-columns {
    grid-template-columns: auto;
  }

  footer .wp-block-column:nth-child(1) {
    grid-column: 1;
  }

  footer .menu {
    text-align: center;
  }
}


/*------------------------------------*\
    HEADER
\*------------------------------------*/

:root {
  --header-height: 150px;
}
header {
  display: flex;
  flex-direction: column;
  align-content: center;
  position: relative;
  z-index: 100;
  font-family: var(--heading-font);
}

header.sticky {
  position: sticky;
  top: 0;
}

.header-wrapper {
  width: var(--wrapper);
  margin: 0 auto;
  padding: 10px 0 40px 0;
  display: flex;
  justify-content: center;
  align-items: center;
  -webkit-transition: all 0.4s ease-in-out;
  transition: all 0.4s ease-in-out;
}

.header-inner-wrapper a {
  display: block;
  line-height: 1;
}

header .logo-container {
  display: none;
}

.logo-img {
  max-width: 250px;
  max-height: 65px;
  width: auto;
  height: auto;
}

#main-nav-container {
  width: 100%;
}

.desktop-nav {
  width: var(--wrapper);
  display: block;
  background: rgba(0, 0, 0, 0.8);
  border-radius: 5px;
  padding: 10px 40px;
  margin-top: 90px;
}

.menu-logo a {
  display: block;
  width: 300px;
  position: relative;
}

.menu-logo img {
  max-width: 100%;
  position: absolute;
  transform: translateY(-110px);
}

header nav ul {
  display: grid;
  grid-template-columns: repeat(3, 1fr) 300px repeat(3, 1fr);
  justify-items: center;
  list-style: none;
  padding: 0;
  margin: 0;
}

header nav ul li a {
  color: var(--white);
  text-decoration: none;
  text-transform: uppercase;
  font-size: 0.9rem;
  white-space: nowrap;
  padding: 8px 0;
  line-height: 1;
  transition: var(--transition);
}

header nav ul li a:hover {
  color: var(--main);
}

.current-menu-item> a:not(.current-menu-item .current-menu-item a),
.current_page_item:first-of-type a:not(.current_page_item .current_page_item a) {
  text-decoration: underline;
  text-decoration-color: var(--main);
  text-decoration-thickness: 2px;
  text-underline-offset: 16px;
}

header .nav-button a {
  color: var(--background);
  background-color: var(--main);
  border-radius: 0;
  line-height: 1;
  white-space: nowrap;
  padding: 8px 25px;
  text-transform: uppercase;
  font-weight: 600;
  transition: var(--transition);
  -webkit-transition: var(--transition);
}

header .nav-button a:hover {
  color: var(--main);
  background-color: var(--accent);
}

.nav .sub-menu {
  display: block;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  z-index: 100;
  padding: 14px;
  margin: 10px 0 0;
  background: rgba(0, 0, 0, 0.9);
  box-shadow: var(--box-shadow);
  transition: var(--transition);
}

.menu-item-has-children:hover .sub-menu,
.menu-item-has-children:focus-within .sub-menu {
  opacity: 1;
  pointer-events: all;
}

.nav .sub-menu li {
  margin: 18px 0;
}

.nav .sub-menu li:first-child {
  margin-top: 0;
}

.nav .sub-menu li:last-child {
  margin-bottom: 0;
}

.menu-item-has-children {
  position: relative;
}

.menu-item-has-children>a {
  position: relative;
}

.menu-item-has-children>a::before {
  content: "";
  position: absolute;
  display: block;
  width: calc(100% + 50px);
  margin-left: -25px;
  height: 56px;
}

.menu-item-has-children>a::after {
  content: "";
  display: inline-block;
  margin-left: 10px;
  position: relative;
  top: -2px;
  background: var(--text);
  height: 10px;
  width: 10px;
  mask-image: var(--down-arrow);
  mask-position: center;
  mask-size: contain;
  mask-repeat: no-repeat;
}

.menu-item-has-children .menu-item-has-children>a::after {
  transform: rotate(-90deg);
}

/* Hide nested sub-menus by default */
nav > .sub-menu > .menu-item-has-children > .sub-menu {
  display: none;
}

/* Hide nested sub-menu of main parent item */
nav ul li.menu-item-has-children:hover > .sub-menu > .menu-item-has-children > .sub-menu {
  display: block;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  /* transition: var(--transition); */
}

/* Display nested sub-menu on hover over nested parent item */
nav ul li.menu-item-has-children:hover > .sub-menu > .menu-item-has-children:hover > .sub-menu {
  opacity: 1;
  pointer-events: auto;
}

nav ul li .sub-menu li.menu-item-has-children {
  display: flex;
  width: 100%;
  justify-content: space-between;
  align-items: center;
}

nav ul li .sub-menu .sub-menu {
  position: absolute;
  left: calc(100% + 15px);
}

.bar {
  height: 3px;
  width: 20px;
  margin: 5px 0;
  background: var(--background);
  -webkit-transition: var(--transition);
  transition: var(--transition);
}

.nav-mobile-only,
.mobile-nav,
.mobile-search,
.header-inner-wrapper a.mobile-logo,
.hamburger {
  display: none;
}


/* TOP BAR */
.top-bar {
  background: var(--main);
  color: var(--background);
  max-height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.top-bar-wrapper {
  width: var(--wide-wrapper);
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  padding: 8px 0;
  align-items: center;
  gap: 20px;
  font-size: 0.9rem;
}

.top-bar .nav-button a {
  color: var(--main);
  background-color: var(--accent);
  border-radius: 5px;
  line-height: 1;
  white-space: nowrap;
  padding: 6px 15px;
  text-transform: none;
  font-weight: 500;
  transition: var(--transition);
  -webkit-transition: var(--transition);
}

.top-bar .nav-button a:hover {
  background-color: var(--background);
  color: var(--main);
}

.top-bar ul {
  display: flex;
  list-style: none;
  justify-content: flex-end;
  align-items: center;
  margin: 0;
  padding-left: 0;
  gap: 20px;
}

.top-bar ul li {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

.top-bar ul li a {
  color: var(--background);
  font-weight: 400;
  text-transform: none;
}

.top-bar ul li a:hover {
  color: var(--accent);
}

.top-bar .menu-item-has-children>a::after {
  background: var(--background);
  top: -1px;
}

.top-bar .nav .sub-menu {
  top: calc(100% - 10px);
  left: 0;
  min-width: 100%;
}

.top-bar .sub-menu li {
  justify-content: flex-start;
}

.top-bar .nav .sub-menu li a {
  color: var(--text);
}

.top-bar .nav .sub-menu li a:hover {
  color: var(--main);
}

/* SEARCH BAR */
.top-bar .wp-block-search input[type="search"],
.mobile-search .wp-block-search input[type="search"] {
  min-width: 0;
  min-height: 0;
  width: 0;
  padding: 4px;
  border: 1px solid var(--main);
  -webkit-transition: all 0.4s ease-in-out;
  transition: all 0.4s ease-in-out;
  opacity: 0;
  font-size: 0.8rem;
}

.top-bar .wp-block-search input[type="search"]:focus,
.mobile-search .wp-block-search input[type="search"]:focus,
.top-bar .wp-block-search input[type="search"].active,
.mobile-search .wp-block-search input[type="search"].active {
  width: 200px;
  outline: none;
  opacity: 1;
}

.nav-search-wrapper {
  display: flex;
  align-items: center;
}

.mobile-search .nav-search-wrapper {
  flex-direction: row-reverse;
}

.nav-search-wrapper button[type="submit"] {
  background: var(--search-icon);
  background-position: center;
  background-repeat: no-repeat;
  height: 1.2rem;
  width: auto;
  border: none;
  display: block;
  z-index: 2;
  -webkit-appearance: none;
}

.mobile-search .nav-search-wrapper button[type="submit"] {
  background: var(--search-icon);
  background-position: center;
  background-repeat: no-repeat;
}

.mobile-search .wp-block-search__button {
  margin-left:0;
  margin-right: 0.625em;
}

/* MOBILE */
@media screen and (max-width: 1200px) {
  .desktop-nav {
    margin-top: 70px;
  }

  header nav ul {
    grid-template-columns: repeat(3, 1fr) 230px repeat(3, 1fr);
  }

  .menu-logo a {
    width: 230px;
  }

  .menu-logo img {
    transform: translateY(-85px);
  }
}

@media screen and (max-width: 1024px) {
  .desktop-nav {
    margin-top: 60px;
  }

  header nav ul {
    grid-template-columns: repeat(3, 1fr) 190px repeat(3, 1fr);
  }

  .menu-logo a {
    width: 190px;
  }

  .menu-logo img {
    transform: translateY(-65px);
  }
}

@media screen and (max-width: 951px) {
  :root {
  	--header-height: 70px;
  }

  .top-bar,
  .desktop-nav,
  .menu-logo {
    display: none;
  }

  .mobile-nav,
  .nav-mobile-only {
    display: block;
  }

  .mobile-search {
    display: block;
    margin-bottom: 35px !important;
  }

  header {
    height: auto;
    font-size: var(--body-fs);
  }

  header .logo-container {
    display: block;
    height: var(--header-height);
    margin-top: -45px;
    z-index: 200;
  }

  #main-nav-container {
    background: rgba(0, 0, 0, 0.8);
    width: var(--wide-wrapper);
    margin: auto;
    margin-top: 26px;
    margin-bottom: 30px;
    border-radius: 5px;
    transition: var(--transition);
  }

  #main-nav-container.active {
    background: var(--black);
    border-radius: 5px 5px 0 0;
  }

  #main-nav-container>.header-wrapper {
    height: var(--header-height);
    display: grid;
    grid-template-rows: var(--header-height) auto;
    grid-template-columns: auto auto;
    padding: 0;
  }

  /* Mobile logo */
  header .header-inner-wrapper .logo-container.has-mobile-logo a.logo,
  header .header-inner-wrapper .logo-container.has-mobile-logo a.custom-logo-link {
    display: none;
  }

  header .header-inner-wrapper .logo-container.has-mobile-logo a.mobile-logo {
    display: block;
  }

  header .logo-container.has-mobile-logo .logo-icon {
    max-height: var(--header-height);
    padding: 15px 0;
  }

  /* Normal logo */
  header .header-inner-wrapper .logo-container:not(.has-mobile-logo) a.mobile-logo {
    display: none;
  }

  header .header-inner-wrapper .logo-container:not(.has-mobile-logo) a.logo,
  header .header-inner-wrapper .logo-container:not(.has-mobile-logo) a.custom-logo-link {
    display: block;
  }

  header .logo-container:not(.has-mobile-logo) .logo-img {
    display: block;
    padding: 15px 0;
  }

  .nav {
    width: var(--wide-wrapper);
    background: var(--black);
    border-radius: 0 0 5px 5px;
    border-bottom: 1px solid var(--main);
    margin-left: auto;
    margin-right: auto;
    padding-bottom: 20px;
    grid-row: 2;
    grid-column-start: 1;
    grid-column-end: 3;
    position: relative;
    -webkit-transform: scaleY(0);
    transform: scaleY(0);
    -webkit-transform-origin: top;
    transform-origin: top;
    -webkit-transition: var(--transition);
    transition: var(--transition);
    z-index: 100;
	}

  .nav.active {
    transform: scaleY(1);
  }

  .header-inner-wrapper {
    width: var(--wide-wrapper);
    height: var(--header-height);
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 15px;
  }

  .site-title, .hamburger {
    display: flex;
    height: var(--header-height);
    align-items: center;
  }

  .site-title a {
    display: flex;
    align-items: center;
    max-height: var(--header-height);
    max-width: 80%;
  }

	.nav ul,
  .mobile-search {
		display: flex;
    flex-direction: column;
    width: 100%;
    margin: 20px auto;
    padding: 20px 40px;
	}

  .nav ul {
    gap: 18px 0;
  }

	.nav ul li a {
		margin: 0;
    color: var(--background);
    font-weight: 600;
	}

	.nav .sub-menu {
		display: block;
		position: static;
    padding-left: 24px;
    padding-bottom: 0;
    background: transparent;
    box-shadow: none;
    opacity: 1;
	}

  .sub-menu li, .sub-menu li:last-child a, .sub-menu li:first-child a {
    margin: 0;
  }

  .menu-item-has-children > a::after {
    display: none;
  }

  nav ul li .sub-menu li.menu-item-has-children {
    display: block;
  }

  nav ul li .sub-menu .sub-menu {
    position: static;
  }

  .nav-search-wrapper button[type="submit"] {
    background: var(--search-icon);
    background-position: center;
    background-repeat: no-repeat;
  }

  .mobile-search .nav-search-wrapper button[type="submit"] {
    background: var(--search-icon);
    background-position: center;
    background-repeat: no-repeat;
  }
  .hamburger {
    height: var(--header-height);
  }

	.hamburger.active .bar:nth-child(2) {
    -webkit-transform: translateX(10vw);
    transform: translateX(10vw);
    opacity: 0;
	}

	.hamburger.active .bar:nth-child(1) {
		-webkit-transform: translateY(8px) rotate(405deg);
		transform: translateY(8px) rotate(405deg);
	}

	.hamburger.active .bar:nth-child(3) {
		-webkit-transform: translateY(-8px) rotate(-45deg);
		transform: translateY(-8px) rotate(-45deg);
	}
}
