/* ==========================================================================
	Project: Gijinkakun
	File: public.css
	Purpose: base + layout + components + utilities.
	Author: Christopher Satterthwaite  |  Updated: 2025-12-09  |  Version: 1.0.0
========================================================================== */
/* TOC
[00] Root
[01] Normalize
[02] Base
  [02.1] Header Motion + State Styles
[03] Typography
  [03.1] Heading Styles
  [03.2] Font Styles
  [03.3] List Styles
  [03.4] Button Styles
  [03.5] Sitemap Styles
[04] Layout
  [04.1] Header Styles
    [04.1.a] Header Inner Styles
    [04.1.b] Mobile Header Inner Styles
    [04.1.c] Desktop Header Inner Styles
    [04.1.d] Header Row Styles
    [04.1.e] Header Row Inner Styles
  [04.1.f] Header Column Styles
  [04.2] Content Styles
  [04.2.a] Main Styles
  [04.3] Archive Styles
    [04.3.a] Archive List Styles
  [04.4] Footer Styles
    [04.4.a] Footer Inner Styles
    [04.4.b] Footer Row Styles
    [04.4.c] Footer Row Inner Styles
    [04.4.d] Footer Column Styles
    [04.4.e] Footer Column Inner Styles
[05] Components
  [05.1] Skip Navigation Styles
  [05.2] Header Notice Styles
  [05.3] Logo Styles
    [05.3.a] Default Logo Styles
    [05.3.b] Transparent Logo Styles
    [05.3.c] Transparent Scroll Logo Styles
    [05.3.d] Shrink Logo Styles
    [05.3.e] Shrink Transparent Logo Styles
    [05.3.f] Footer Logo Styles
  [05.4] Navigation Styles
    [05.4.a] Navigation Base Styles
    [05.4.b] Navigation Links Styles
    [05.4.c] Navigation Carets Styles
    [05.4.d] Sub Menu Base Styles
    [05.4.e] Sub Menu Items Styles
    [05.4.f] Sub Menu States Styles
    [05.4.g] Legal Menu States Styles
    [05.4.h] Toggle Mobile Styles
  [05.4.i] Drawer Styles
  [05.5] Breadcrumb Styles
  [05.7] Card Styles
  [05.8] Featured Image Styles
  [05.9] Title Styles
  [05.10] Meta Styles
  [05.11] Date Styles
  [05.12] Author Avatar Styles
  [05.13] Author Styles
  [05.14] Reading Time Styles
  [05.15] Comments Styles
  [05.17] Excerpt Styles
  [05.18] Link Styles
    [05.18.a] Archive Pagination Styles
  [05.19] Single Post Title Styles
  [05.20] Tags Styles
  [05.21] Categories Styles
  [05.22] Post Navigation Styles
  [05.23] Social Media Share Bar Styles
  [05.24] Related Post Styles
  [05.25] Comment Styles
  [05.26] Social Media Styles
[06] Utilities
  [06.1] Screen Reader
  [06.2] Skip Links
  [06.3] Has Global Padding
*/

/* ================= [00] Root ================= */
/* Root variables are set in the layout.php */
/* ================= [01] Normalize ================= */
/* 1. Use a more-intuitive box-sizing model */
*, *::before, *::after {
  box-sizing: border-box;
}

/* 2. Remove default margin and padding */
* {
  margin: 0;
  padding: 0;
}

/* 3. Set core body defaults */
body {
  min-height: 100vh;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* 4. Remove list styles on ul, ol elements with a list role */
ul[role='list'], ol[role='list'] {
  list-style: none;
}

/* 5. Set shorter line heights on interactive elements */
button, input, label {
  line-height: 1.1;
}

/* 6. Improve text rendering and wrapping */
p, h1, h2, h3, h4, h5, h6 {
  overflow-wrap: break-word;
}

p {
  text-wrap: pretty;
}

/* 7. Make images and media easier to work with */
img, picture, video, canvas, svg {
  display: block;
  max-width: 100%;
}

embed, iframe, object, video {
    max-width: 100%;
}

/* 9. Inherit fonts for inputs and buttons */
input, button, textarea, select {
  font: inherit;
}

/* 9. Make sure textareas without a rows attribute are not tiny */
textarea:not([rows]) {
  min-height: 10em;
}

/* 10. Anything that has been anchored to should have extra scroll margin */
:target {
  scroll-margin-block: 5ex;
}

/* 11. Root stacking context */
#root, #__next {
  isolation: isolate;
}

/* 12. Enable keyword animations for modern browsers */
@media (prefers-reduced-motion: no-preference) {
  html {
    scroll-behavior: smooth;
    interpolate-size: allow-keywords;
  }
}

/* 13. HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

/* 14. Remove quotes from blockquotes and q elements */
blockquote, q {
  quotes: none;

  &::before,
  &::after {
    content: '';
    content: none;
  }
}

/* 15. Table border collapse */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* 16. Focus management for accessibility */
:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 2px;
}

/* 17. Remove focus outline for mouse users */
:focus:not(:focus-visible) {
  outline: none;
}

/* ================= [02] Base ================= */
html {
  tab-size: 4;
  -webkit-text-size-adjust: 100%;
  font-size: 16px;
  line-height: 1.5;
}

body {
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  background-color: var(--gt-body-background-color);
  color: var(--gt-body-font-color, var(--gt-text));
  font-family: var(--gt-body-font-family, var(--gt-font-body-source-family));
  font-weight: var(--gt-body-font-weight);
  font-style: normal;
  font-size: var(--gt-body-font-size);
  line-height: var(--gt-body-line-height);
}

.gt-content input:not([type="button"]):not([type="checkbox"]):not([type="color"]):not([type="file"]):not([type="hidden"]):not([type="image"]):not([type="radio"]):not([type="range"]):not([type="reset"]):not([type="submit"]),
.gt-content select,
.gt-content textarea {
  width: 100%;
  max-width: 100%;
  min-height: 2.75rem;
  padding: 0.6rem 0.7rem;
  border: 1px solid var(--gt-border);
  border-radius: 0.3rem;
  box-shadow: none;
  background-color: var(--gt-background);
  color: var(--gt-text);
}

.gt-content select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding-right: 2rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M3 4.5 6 7.5 9 4.5' stroke='%23222222' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.7rem center;
  background-size: 0.75rem;
}

.gt-content select[multiple] {
  padding-right: 0.7rem;
  background-image: none;
}

.gt-content input:not([type="button"]):not([type="checkbox"]):not([type="color"]):not([type="file"]):not([type="hidden"]):not([type="image"]):not([type="radio"]):not([type="range"]):not([type="reset"]):not([type="submit"]):focus-visible,
.gt-content select:focus-visible,
.gt-content textarea:focus-visible {
  outline: 2px solid var(--gt-accessibility-color);
  outline-offset: 2px;
}

h1 {
  color: var(--gt-h1-font-color, var(--gt-headings, currentColor));
  font-family: var(--gt-h1-font-family, var(--gt-body-font-family));
  font-size: var(--gt-h1-font-size);
  font-weight: var(--gt-h1-font-weight);
  line-height: var(--gt-h1-line-height);
  margin-top: var(--gt-h1-margin-top);
  margin-bottom: var(--gt-h1-margin-bottom);
}

h2 {
  color: var(--gt-h2-font-color, var(--gt-headings, currentColor));
  font-family: var(--gt-h2-font-family, var(--gt-body-font-family));
  font-size: var(--gt-h2-font-size);
  font-weight: var(--gt-h2-font-weight);
  line-height: var(--gt-h2-line-height);
  margin-top: var(--gt-h2-margin-top);
  margin-bottom: var(--gt-h2-margin-bottom);
}

h3 {
  color: var(--gt-h3-font-color, var(--gt-headings, currentColor));
  font-family: var(--gt-h3-font-family, var(--gt-body-font-family));
  font-size: var(--gt-h3-font-size);
  font-weight: var(--gt-h3-font-weight);
  line-height: var(--gt-h3-line-height);
  margin-top: var(--gt-h3-margin-top);
  margin-bottom: var(--gt-h3-margin-bottom);
}

h4 {
  color: var(--gt-h4-font-color, var(--gt-headings, currentColor));
  font-family: var(--gt-h4-font-family, var(--gt-body-font-family));
  font-size: var(--gt-h4-font-size);
  font-weight: var(--gt-h4-font-weight);
  line-height: var(--gt-h4-line-height);
  margin-top: var(--gt-h4-margin-top);
  margin-bottom: var(--gt-h4-margin-bottom);
}

h5 {
  color: var(--gt-h5-font-color, var(--gt-headings, currentColor));
  font-family: var(--gt-h5-font-family, var(--gt-body-font-family));
  font-size: var(--gt-h5-font-size);
  font-weight: var(--gt-h5-font-weight);
  line-height: var(--gt-h5-line-height);
  margin-top: var(--gt-h5-margin-top);
  margin-bottom: var(--gt-h5-margin-bottom);
}

h6 {
  color: var(--gt-h6-font-color, var(--gt-headings, currentColor));
  font-family: var(--gt-h6-font-family, var(--gt-body-font-family));
  font-size: var(--gt-h6-font-size);
  font-weight: var(--gt-h6-font-weight);
  line-height: var(--gt-h6-line-height);
  margin-top: var(--gt-h6-margin-top);
  margin-bottom: var(--gt-h6-margin-bottom);
}

body.mobile-toggle {
  overflow: hidden;
}

@keyframes gt-header-hide-top-scroll {
  from {
    transform: translateY(0);
  }

  to {
    transform: translateY(calc(var(--gt-header-hide-top-offset, 0px) * -1));
  }
}

@keyframes gt-header-hide-top-main-scroll {
  from {
    transform: translateY(0);
  }

  to {
    transform: translateY(calc(var(--gt-header-hide-top-main-offset, 0px) * -1));
  }
}

@keyframes gt-header-hide-all-scroll {
  from {
    transform: translateY(0);
  }

  to {
    transform: translateY(calc(var(--gt-header-height, 0px) * -1));
  }
}

@keyframes gt-header-row-top-padding-shrink {
  from {
    padding-top: var(--gt-header-row-top-inner-padding-top);
    padding-bottom: var(--gt-header-row-top-inner-padding-bottom);
  }

  to {
    padding-top: var(--gt-header-row-top-inner-padding-top-shrink);
    padding-bottom: var(--gt-header-row-top-inner-padding-bottom-shrink);
  }
}

@keyframes gt-header-row-main-padding-shrink {
  from {
    padding-top: var(--gt-header-row-main-inner-padding-top);
    padding-bottom: var(--gt-header-row-main-inner-padding-bottom);
  }

  to {
    padding-top: var(--gt-header-row-main-inner-padding-top-shrink);
    padding-bottom: var(--gt-header-row-main-inner-padding-bottom-shrink);
  }
}

@keyframes gt-header-row-bottom-padding-shrink {
  from {
    padding-top: var(--gt-header-row-bottom-inner-padding-top);
    padding-bottom: var(--gt-header-row-bottom-inner-padding-bottom);
  }

  to {
    padding-top: var(--gt-header-row-bottom-inner-padding-top-shrink);
    padding-bottom: var(--gt-header-row-bottom-inner-padding-bottom-shrink);
  }
}

@keyframes gt-header-row-top-background-scroll {
  from {
    background-color: var(--gt-header-row-top-background-transparent-color);
  }

  to {
    background-color: var(--gt-header-row-top-background-transparent-scroll-color);
  }
}

@keyframes gt-header-row-main-background-scroll {
  from {
    background-color: var(--gt-header-row-main-background-transparent-color);
  }

  to {
    background-color: var(--gt-header-row-main-background-transparent-scroll-color);
  }
}

@keyframes gt-header-row-bottom-background-scroll {
  from {
    background-color: var(--gt-header-row-bottom-background-transparent-color);
  }

  to {
    background-color: var(--gt-header-row-bottom-background-transparent-scroll-color);
  }
}

@keyframes gt-header-row-top-text-scroll {
  from {
    color: var(--gt-header-row-top-text-transparent-color);
  }

  to {
    color: var(--gt-header-row-top-text-transparent-scroll-color);
  }
}

@keyframes gt-header-row-main-text-scroll {
  from {
    color: var(--gt-header-row-main-text-transparent-color);
  }

  to {
    color: var(--gt-header-row-main-text-transparent-scroll-color);
  }
}

@keyframes gt-header-row-bottom-text-scroll {
  from {
    color: var(--gt-header-row-bottom-text-transparent-color);
  }

  to {
    color: var(--gt-header-row-bottom-text-transparent-scroll-color);
  }
}

@keyframes gt-header-navigation-link-scroll {
  from {
    color: var(--gt-header-navigation-link-transparent-color);
  }

  to {
    color: var(--gt-header-navigation-link-transparent-scroll-color);
  }
}

@keyframes gt-header-navigation-link-hover-scroll {
  from {
    color: var(--gt-header-navigation-link-transparent-hover-color);
  }

  to {
    color: var(--gt-header-navigation-link-transparent-scroll-hover-color);
  }
}

@keyframes gt-header-navigation-link-active-scroll {
  from {
    color: var(--gt-header-navigation-link-transparent-active-color);
  }

  to {
    color: var(--gt-header-navigation-link-transparent-scroll-active-color);
  }
}

@keyframes gt-header-social-link-scroll {
  from {
    color: var(--gt-header-social-transparent-color);
  }

  to {
    color: var(--gt-header-social-scroll-color);
  }
}

@keyframes gt-header-social-link-hover-scroll {
  from {
    color: var(--gt-header-social-transparent-hover-color);
  }

  to {
    color: var(--gt-header-social-scroll-hover-color);
  }
}

@keyframes gt-header-default-logo-solid-state {
  0%,
  99.999% {
    opacity: 0;
    visibility: hidden;
  }

  100% {
    opacity: 1;
    visibility: visible;
  }
}

@keyframes gt-header-transparent-logo-solid-state {
  0%,
  99.999% {
    opacity: 1;
    visibility: visible;
  }

  100% {
    opacity: 0;
    visibility: hidden;
  }
}

@keyframes gt-header-logo-fade-out {
  0% {
    opacity: 1;
    visibility: visible;
  }

  99.999% {
    opacity: 0;
    visibility: visible;
  }

  100% {
    opacity: 0;
    visibility: hidden;
  }
}

@keyframes gt-header-logo-fade-in {
  0% {
    opacity: 0;
    visibility: hidden;
  }

  0.001% {
    opacity: 0;
    visibility: visible;
  }

  100% {
    opacity: 1;
    visibility: visible;
  }
}

/* -- [02.1] Header Motion + State Styles -- */
@media (min-width: 992px) {
  body.gt-header-position-desktop-fixed {
    &.gt-header-type-desktop-transparent {
      --gt-header-scroll-background-range: var(--gt-header-transparent-scroll-range, 150px);

      &.gt-header-scroll-desktop-top {
        --gt-header-scroll-background-range: var(--gt-header-hide-top-offset, 0px);
      }

      &.gt-header-scroll-desktop-top_main {
        --gt-header-scroll-background-range: var(--gt-header-hide-top-main-offset, 0px);
      }

      &.gt-header-scroll-desktop-all {
        --gt-header-scroll-background-range: var(--gt-header-height, 0px);
      }

      .gt-header__inner--desktop {
        .gt-header__row--main {
          .gt-header__column--start {
            display: grid;
            justify-items: start;
            align-items: center;
          }
        }
      }

      &:not(:is(.gt-header-shrink-desktop-main, .gt-header-shrink-desktop-all)) {
        .gt-header__inner--desktop {
          .gt-header__row--main {
            .gt-header__column--start {
              .gt-logo--default,
              .gt-logo--transparent,
              .gt-logo--transparent-scroll {
                grid-area: 1 / 1;
              }

              .gt-logo--default {
                display: block;
                opacity: 0;
                visibility: hidden;
              }

              .gt-logo--transparent {
                display: block;
                opacity: 1;
                visibility: visible;
              }

              .gt-logo--transparent-scroll {
                display: block;
                opacity: 0;
                visibility: hidden;
              }
            }
          }
        }
      }

      &:is(.gt-header-shrink-desktop-main, .gt-header-shrink-desktop-all) {
        .gt-header__inner--desktop {
          .gt-header__row--main {
            .gt-header__column--start {
              .gt-logo--transparent,
              .gt-logo--shrink-transparent {
                grid-area: 1 / 1;
              }

              .gt-logo--transparent {
                display: block;
                opacity: 1;
                visibility: visible;
              }

              .gt-logo--shrink-transparent {
                display: block;
                opacity: 0;
                visibility: hidden;
              }
            }
          }
        }
      }
    }

    &.gt-header-shrink-desktop-top {
      --gt-header-shrink-scroll-range: var(--gt-header-shrink-top-range, 0px);
    }

    &.gt-header-shrink-desktop-main {
      --gt-header-shrink-scroll-range: var(--gt-header-shrink-main-range, 0px);
    }

    &.gt-header-shrink-desktop-bottom {
      --gt-header-shrink-scroll-range: var(--gt-header-shrink-bottom-range, 0px);
    }

    &.gt-header-shrink-desktop-all {
      --gt-header-shrink-scroll-range: var(--gt-header-shrink-all-range, 0px);
    }

    &:is(.gt-header-shrink-desktop-main, .gt-header-shrink-desktop-all) {
      .gt-header__inner--desktop {
        .gt-header__row--main {
          .gt-header__column--start {
            display: grid;
            justify-items: start;
            align-items: center;
          }
        }
      }
    }

    &.gt-header-type-desktop-solid {
      &:is(.gt-header-shrink-desktop-main, .gt-header-shrink-desktop-all) {
        .gt-header__inner--desktop {
          .gt-header__row--main {
            .gt-header__column--start {
              .gt-logo--default,
              .gt-logo--shrink {
                grid-area: 1 / 1;
              }

              .gt-logo--default {
                display: block;
                opacity: 1;
                visibility: visible;
              }

              .gt-logo--shrink {
                display: block;
                opacity: 0;
                visibility: hidden;
              }
            }
          }
        }
      }
    }
  }
}

@media (max-width: 992px) {
  body.gt-header-position-mobile-fixed {
    &.gt-header-type-mobile-transparent {
      --gt-header-scroll-background-range: var(--gt-header-transparent-scroll-range, 150px);

      &.gt-header-scroll-mobile-top {
        --gt-header-scroll-background-range: var(--gt-header-hide-top-offset, 0px);
      }

      &.gt-header-scroll-mobile-top_main {
        --gt-header-scroll-background-range: var(--gt-header-hide-top-main-offset, 0px);
      }

      &.gt-header-scroll-mobile-all {
        --gt-header-scroll-background-range: var(--gt-header-height, 0px);
      }
    }

    &.gt-header-shrink-mobile-top {
      --gt-header-shrink-scroll-range: var(--gt-header-shrink-top-range, 0px);
    }

    &.gt-header-shrink-mobile-main {
      --gt-header-shrink-scroll-range: var(--gt-header-shrink-main-range, 0px);
    }

    &.gt-header-shrink-mobile-bottom {
      --gt-header-shrink-scroll-range: var(--gt-header-shrink-bottom-range, 0px);
    }

    &.gt-header-shrink-mobile-all {
      --gt-header-shrink-scroll-range: var(--gt-header-shrink-all-range, 0px);
    }
  }
}

body.customize-preview {
  .gt-header,
  .gt-header__row,
  .gt-header__row-inner,
  .gt-header__inner--desktop .gt-header__row--main .gt-header__column--start .gt-logo {
    animation: none !important;
    animation-timeline: auto !important;
    transition: none !important;
    transform: none !important;
    will-change: auto !important;
  }
}

@media (prefers-reduced-motion: no-preference) {
  @supports (animation-timeline: scroll()) {
    @media (min-width: 992px) {
      body.gt-header-position-desktop-fixed {
        &.gt-header-scroll-desktop-top {
          .gt-header {
            animation-name: gt-header-hide-top-scroll;
            animation-duration: 1s;
            animation-timing-function: linear;
            animation-fill-mode: both;
            animation-timeline: scroll();
            animation-range: 0px var(--gt-header-hide-top-offset, 0px);
            will-change: transform;
          }
        }

        &.gt-header-scroll-desktop-top_main {
          .gt-header {
            animation-name: gt-header-hide-top-main-scroll;
            animation-duration: 1s;
            animation-timing-function: linear;
            animation-fill-mode: both;
            animation-timeline: scroll();
            animation-range: 0px var(--gt-header-hide-top-main-offset, 0px);
            will-change: transform;
          }
        }

        &.gt-header-scroll-desktop-all {
          .gt-header {
            animation-name: gt-header-hide-all-scroll;
            animation-duration: 1s;
            animation-timing-function: linear;
            animation-fill-mode: both;
            animation-timeline: scroll();
            animation-range: 0px var(--gt-header-height, 0px);
            will-change: transform;
          }
        }

        &.gt-header-shrink-desktop-top {
          .gt-header__row-inner--top {
            animation-name: gt-header-row-top-padding-shrink;
            animation-duration: 1s;
            animation-timing-function: linear;
            animation-fill-mode: both;
            animation-timeline: scroll();
            animation-range: 0px var(--gt-header-shrink-scroll-range, 0px);
            will-change: padding-top, padding-bottom;
          }
        }

        &.gt-header-shrink-desktop-main {
          .gt-header__row-inner--main {
            animation-name: gt-header-row-main-padding-shrink;
            animation-duration: 1s;
            animation-timing-function: linear;
            animation-fill-mode: both;
            animation-timeline: scroll();
            animation-range: 0px var(--gt-header-shrink-scroll-range, 0px);
            will-change: padding-top, padding-bottom;
          }
        }

        &.gt-header-shrink-desktop-bottom {
          .gt-header__row-inner--bottom {
            animation-name: gt-header-row-bottom-padding-shrink;
            animation-duration: 1s;
            animation-timing-function: linear;
            animation-fill-mode: both;
            animation-timeline: scroll();
            animation-range: 0px var(--gt-header-shrink-scroll-range, 0px);
            will-change: padding-top, padding-bottom;
          }
        }

        &.gt-header-shrink-desktop-all {
          .gt-header__row-inner--top {
            animation-name: gt-header-row-top-padding-shrink;
            animation-duration: 1s;
            animation-timing-function: linear;
            animation-fill-mode: both;
            animation-timeline: scroll();
            animation-range: 0px var(--gt-header-shrink-scroll-range, 0px);
            will-change: padding-top, padding-bottom;
          }

          .gt-header__row-inner--main {
            animation-name: gt-header-row-main-padding-shrink;
            animation-duration: 1s;
            animation-timing-function: linear;
            animation-fill-mode: both;
            animation-timeline: scroll();
            animation-range: 0px var(--gt-header-shrink-scroll-range, 0px);
            will-change: padding-top, padding-bottom;
          }

          .gt-header__row-inner--bottom {
            animation-name: gt-header-row-bottom-padding-shrink;
            animation-duration: 1s;
            animation-timing-function: linear;
            animation-fill-mode: both;
            animation-timeline: scroll();
            animation-range: 0px var(--gt-header-shrink-scroll-range, 0px);
            will-change: padding-top, padding-bottom;
          }
        }
      }

      body.gt-header-position-desktop-fixed.gt-header-type-desktop-transparent {
        .gt-header__row--top {
          animation-name: gt-header-row-top-background-scroll, gt-header-row-top-text-scroll;
          animation-duration: 1s;
          animation-timing-function: linear;
          animation-fill-mode: both;
          animation-timeline: scroll();
          animation-range: 0px var(--gt-header-scroll-background-range, 0px);
        }

        .gt-header__row--main {
          animation-name: gt-header-row-main-background-scroll, gt-header-row-main-text-scroll;
          animation-duration: 1s;
          animation-timing-function: linear;
          animation-fill-mode: both;
          animation-timeline: scroll();
          animation-range: 0px var(--gt-header-scroll-background-range, 0px);
        }

        .gt-header__row--bottom {
          animation-name: gt-header-row-bottom-background-scroll, gt-header-row-bottom-text-scroll;
          animation-duration: 1s;
          animation-timing-function: linear;
          animation-fill-mode: both;
          animation-timeline: scroll();
          animation-range: 0px var(--gt-header-scroll-background-range, 0px);
        }

        .gt-header__row--top,
        .gt-header__row--main,
        .gt-header__row--bottom {
          .gt-navigation--primary {
            --gt-header-navigation-link-transparent-color: var(--gt-primary-navigation-transparent-font-color);
            --gt-header-navigation-link-transparent-hover-color: var(--gt-primary-navigation-transparent-hover-font-color);
            --gt-header-navigation-link-transparent-active-color: var(--gt-primary-navigation-transparent-active-font-color);
            --gt-header-navigation-link-transparent-scroll-color: var(--gt-primary-navigation-transparent-scroll-font-color);
            --gt-header-navigation-link-transparent-scroll-hover-color: var(--gt-primary-navigation-transparent-scroll-hover-font-color);
            --gt-header-navigation-link-transparent-scroll-active-color: var(--gt-primary-navigation-transparent-scroll-active-font-color);
          }

          .gt-navigation--secondary {
            --gt-header-navigation-link-transparent-color: var(--gt-secondary-navigation-transparent-font-color);
            --gt-header-navigation-link-transparent-hover-color: var(--gt-secondary-navigation-transparent-hover-font-color);
            --gt-header-navigation-link-transparent-active-color: var(--gt-secondary-navigation-transparent-active-font-color);
            --gt-header-navigation-link-transparent-scroll-color: var(--gt-secondary-navigation-transparent-scroll-font-color);
            --gt-header-navigation-link-transparent-scroll-hover-color: var(--gt-secondary-navigation-transparent-scroll-hover-font-color);
            --gt-header-navigation-link-transparent-scroll-active-color: var(--gt-secondary-navigation-transparent-scroll-active-font-color);
          }

          .gt-navigation--primary,
          .gt-navigation--secondary {
            > .gt-navigation__list > .menu-item > a {
              animation-name: gt-header-navigation-link-scroll;
              animation-duration: 1s;
              animation-timing-function: linear;
              animation-fill-mode: both;
              animation-timeline: scroll();
              animation-range: 0px var(--gt-header-scroll-background-range, 0px);
            }

            > .gt-navigation__list > .menu-item:is(.current-menu-item, .current-menu-ancestor) > a {
              animation-name: gt-header-navigation-link-active-scroll;
              animation-duration: 1s;
              animation-timing-function: linear;
              animation-fill-mode: both;
              animation-timeline: scroll();
              animation-range: 0px var(--gt-header-scroll-background-range, 0px);
            }

            > .gt-navigation__list > .menu-item > a:is(:hover, :focus) {
              animation-name: gt-header-navigation-link-hover-scroll;
              animation-duration: 1s;
              animation-timing-function: linear;
              animation-fill-mode: both;
              animation-timeline: scroll();
              animation-range: 0px var(--gt-header-scroll-background-range, 0px);
            }
          }
        }

        .gt-social-media--header {
          .gt-social-media__link {
            animation-name: gt-header-social-link-scroll;
            animation-duration: 1s;
            animation-timing-function: linear;
            animation-fill-mode: both;
            animation-timeline: scroll();
            animation-range: 0px var(--gt-header-scroll-background-range, 0px);
          }

          .gt-social-media__link:is(:hover, :focus) {
            animation-name: gt-header-social-link-hover-scroll;
            animation-duration: 1s;
            animation-timing-function: linear;
            animation-fill-mode: both;
            animation-timeline: scroll();
            animation-range: 0px var(--gt-header-scroll-background-range, 0px);
          }
        }

        &:not(:is(.gt-header-shrink-desktop-main, .gt-header-shrink-desktop-all)) {
          .gt-header__inner--desktop {
            .gt-header__row--main {
              .gt-header__column--start {
                .gt-logo--default {
                  animation-name: gt-header-default-logo-solid-state;
                  animation-duration: 1s;
                  animation-timing-function: linear;
                  animation-fill-mode: both;
                  animation-timeline: scroll();
                  animation-range: 0px var(--gt-header-scroll-background-range, 0px);
                }

                &:has(.gt-logo--transparent-scroll) {
                  .gt-logo--default {
                    animation-name: none;
                    opacity: 0;
                    visibility: hidden;
                  }
                }

                .gt-logo--transparent {
                  animation-name: gt-header-transparent-logo-solid-state;
                  animation-duration: 1s;
                  animation-timing-function: linear;
                  animation-fill-mode: both;
                  animation-timeline: scroll();
                  animation-range: 0px var(--gt-header-scroll-background-range, 0px);
                }

                .gt-logo--transparent-scroll {
                  animation-name: gt-header-default-logo-solid-state;
                  animation-duration: 1s;
                  animation-timing-function: linear;
                  animation-fill-mode: both;
                  animation-timeline: scroll();
                  animation-range: 0px var(--gt-header-scroll-background-range, 0px);
                }
              }
            }
          }
        }
      }

      body.gt-header-position-desktop-fixed.gt-header-type-desktop-solid:is(.gt-header-shrink-desktop-main, .gt-header-shrink-desktop-all) {
        .gt-header__inner--desktop {
          .gt-header__row--main {
            .gt-header__column--start {
              .gt-logo--default {
                animation-name: gt-header-logo-fade-out;
                animation-duration: 1s;
                animation-timing-function: linear;
                animation-fill-mode: both;
                animation-timeline: scroll();
                animation-range: 0px var(--gt-header-shrink-scroll-range, 0px);
              }

              .gt-logo--shrink {
                animation-name: gt-header-logo-fade-in;
                animation-duration: 1s;
                animation-timing-function: linear;
                animation-fill-mode: both;
                animation-timeline: scroll();
                animation-range: 0px var(--gt-header-shrink-scroll-range, 0px);
              }
            }
          }
        }
      }

      body.gt-header-position-desktop-fixed.gt-header-type-desktop-transparent:is(.gt-header-shrink-desktop-main, .gt-header-shrink-desktop-all) {
        .gt-header__inner--desktop {
          .gt-header__row--main {
            .gt-header__column--start {
              .gt-logo--transparent {
                animation-name: gt-header-logo-fade-out;
                animation-duration: 1s;
                animation-timing-function: linear;
                animation-fill-mode: both;
                animation-timeline: scroll();
                animation-range: 0px var(--gt-header-shrink-scroll-range, 0px);
              }

              .gt-logo--shrink-transparent {
                animation-name: gt-header-logo-fade-in;
                animation-duration: 1s;
                animation-timing-function: linear;
                animation-fill-mode: both;
                animation-timeline: scroll();
                animation-range: 0px var(--gt-header-shrink-scroll-range, 0px);
              }
            }
          }
        }
      }
    }

    @media (max-width: 992px) {
      body.gt-header-position-mobile-fixed {
        &.gt-header-scroll-mobile-top {
          .gt-header {
            animation-name: gt-header-hide-top-scroll;
            animation-duration: 1s;
            animation-timing-function: linear;
            animation-fill-mode: both;
            animation-timeline: scroll();
            animation-range: 0px var(--gt-header-hide-top-offset, 0px);
            will-change: transform;
          }
        }

        &.gt-header-scroll-mobile-top_main {
          .gt-header {
            animation-name: gt-header-hide-top-main-scroll;
            animation-duration: 1s;
            animation-timing-function: linear;
            animation-fill-mode: both;
            animation-timeline: scroll();
            animation-range: 0px var(--gt-header-hide-top-main-offset, 0px);
            will-change: transform;
          }
        }

        &.gt-header-scroll-mobile-all {
          .gt-header {
            animation-name: gt-header-hide-all-scroll;
            animation-duration: 1s;
            animation-timing-function: linear;
            animation-fill-mode: both;
            animation-timeline: scroll();
            animation-range: 0px var(--gt-header-height, 0px);
            will-change: transform;
          }
        }

        &.gt-header-shrink-mobile-top {
          .gt-header__row-inner--top {
            animation-name: gt-header-row-top-padding-shrink;
            animation-duration: 1s;
            animation-timing-function: linear;
            animation-fill-mode: both;
            animation-timeline: scroll();
            animation-range: 0px var(--gt-header-shrink-scroll-range, 0px);
            will-change: padding-top, padding-bottom;
          }
        }

        &.gt-header-shrink-mobile-main {
          .gt-header__row-inner--main {
            animation-name: gt-header-row-main-padding-shrink;
            animation-duration: 1s;
            animation-timing-function: linear;
            animation-fill-mode: both;
            animation-timeline: scroll();
            animation-range: 0px var(--gt-header-shrink-scroll-range, 0px);
            will-change: padding-top, padding-bottom;
          }
        }

        &.gt-header-shrink-mobile-bottom {
          .gt-header__row-inner--bottom {
            animation-name: gt-header-row-bottom-padding-shrink;
            animation-duration: 1s;
            animation-timing-function: linear;
            animation-fill-mode: both;
            animation-timeline: scroll();
            animation-range: 0px var(--gt-header-shrink-scroll-range, 0px);
            will-change: padding-top, padding-bottom;
          }
        }

        &.gt-header-shrink-mobile-all {
          .gt-header__row-inner--top {
            animation-name: gt-header-row-top-padding-shrink;
            animation-duration: 1s;
            animation-timing-function: linear;
            animation-fill-mode: both;
            animation-timeline: scroll();
            animation-range: 0px var(--gt-header-shrink-scroll-range, 0px);
            will-change: padding-top, padding-bottom;
          }

          .gt-header__row-inner--main {
            animation-name: gt-header-row-main-padding-shrink;
            animation-duration: 1s;
            animation-timing-function: linear;
            animation-fill-mode: both;
            animation-timeline: scroll();
            animation-range: 0px var(--gt-header-shrink-scroll-range, 0px);
            will-change: padding-top, padding-bottom;
          }

          .gt-header__row-inner--bottom {
            animation-name: gt-header-row-bottom-padding-shrink;
            animation-duration: 1s;
            animation-timing-function: linear;
            animation-fill-mode: both;
            animation-timeline: scroll();
            animation-range: 0px var(--gt-header-shrink-scroll-range, 0px);
            will-change: padding-top, padding-bottom;
          }
        }
      }

      body.gt-header-position-mobile-fixed.gt-header-type-mobile-transparent {
        .gt-header__row--top {
          animation-name: gt-header-row-top-background-scroll, gt-header-row-top-text-scroll;
          animation-duration: 1s;
          animation-timing-function: linear;
          animation-fill-mode: both;
          animation-timeline: scroll();
          animation-range: 0px var(--gt-header-scroll-background-range, 0px);
        }

        .gt-header__row--main {
          animation-name: gt-header-row-main-background-scroll, gt-header-row-main-text-scroll;
          animation-duration: 1s;
          animation-timing-function: linear;
          animation-fill-mode: both;
          animation-timeline: scroll();
          animation-range: 0px var(--gt-header-scroll-background-range, 0px);
        }

        .gt-header__row--bottom {
          animation-name: gt-header-row-bottom-background-scroll, gt-header-row-bottom-text-scroll;
          animation-duration: 1s;
          animation-timing-function: linear;
          animation-fill-mode: both;
          animation-timeline: scroll();
          animation-range: 0px var(--gt-header-scroll-background-range, 0px);
        }

        .gt-header__row--top,
        .gt-header__row--main,
        .gt-header__row--bottom {
          .gt-navigation--primary {
            --gt-header-navigation-link-transparent-color: var(--gt-primary-navigation-transparent-font-color);
            --gt-header-navigation-link-transparent-hover-color: var(--gt-primary-navigation-transparent-hover-font-color);
            --gt-header-navigation-link-transparent-active-color: var(--gt-primary-navigation-transparent-active-font-color);
            --gt-header-navigation-link-transparent-scroll-color: var(--gt-primary-navigation-transparent-scroll-font-color);
            --gt-header-navigation-link-transparent-scroll-hover-color: var(--gt-primary-navigation-transparent-scroll-hover-font-color);
            --gt-header-navigation-link-transparent-scroll-active-color: var(--gt-primary-navigation-transparent-scroll-active-font-color);
          }

          .gt-navigation--secondary {
            --gt-header-navigation-link-transparent-color: var(--gt-secondary-navigation-transparent-font-color);
            --gt-header-navigation-link-transparent-hover-color: var(--gt-secondary-navigation-transparent-hover-font-color);
            --gt-header-navigation-link-transparent-active-color: var(--gt-secondary-navigation-transparent-active-font-color);
            --gt-header-navigation-link-transparent-scroll-color: var(--gt-secondary-navigation-transparent-scroll-font-color);
            --gt-header-navigation-link-transparent-scroll-hover-color: var(--gt-secondary-navigation-transparent-scroll-hover-font-color);
            --gt-header-navigation-link-transparent-scroll-active-color: var(--gt-secondary-navigation-transparent-scroll-active-font-color);
          }

          .gt-navigation--primary,
          .gt-navigation--secondary {
            > .gt-navigation__list > .menu-item > a {
              animation-name: gt-header-navigation-link-scroll;
              animation-duration: 1s;
              animation-timing-function: linear;
              animation-fill-mode: both;
              animation-timeline: scroll();
              animation-range: 0px var(--gt-header-scroll-background-range, 0px);
            }

            > .gt-navigation__list > .menu-item:is(.current-menu-item, .current-menu-ancestor) > a {
              animation-name: gt-header-navigation-link-active-scroll;
              animation-duration: 1s;
              animation-timing-function: linear;
              animation-fill-mode: both;
              animation-timeline: scroll();
              animation-range: 0px var(--gt-header-scroll-background-range, 0px);
            }

            > .gt-navigation__list > .menu-item > a:is(:hover, :focus) {
              animation-name: gt-header-navigation-link-hover-scroll;
              animation-duration: 1s;
              animation-timing-function: linear;
              animation-fill-mode: both;
              animation-timeline: scroll();
              animation-range: 0px var(--gt-header-scroll-background-range, 0px);
            }
          }
        }

        .gt-social-media--header {
          .gt-social-media__link {
            animation-name: gt-header-social-link-scroll;
            animation-duration: 1s;
            animation-timing-function: linear;
            animation-fill-mode: both;
            animation-timeline: scroll();
            animation-range: 0px var(--gt-header-scroll-background-range, 0px);
          }

          .gt-social-media__link:is(:hover, :focus) {
            animation-name: gt-header-social-link-hover-scroll;
            animation-duration: 1s;
            animation-timing-function: linear;
            animation-fill-mode: both;
            animation-timeline: scroll();
            animation-range: 0px var(--gt-header-scroll-background-range, 0px);
          }
        }
      }
    }
  }
}

/* ================= [03] Typography ================= */
/* -- [03.1] Font Styles -- */
p {
  margin-top: var(--gt-body-margin-top);
  margin-bottom: var(--gt-body-margin-bottom);
}

pre, table, blockquote {
  margin-top: 0rem;
  margin-bottom: 1.5rem;
}

ul, ol {
  margin-bottom: 1.5rem;
  padding-left: 1rem;
}

ul ul, ol ol, ul ol, ol ul {
  margin-top: 0rem;
  margin-bottom: 0rem;
}

hr, .hr {
  border: 1px solid;
  margin: -1px 0;
}

a {
  color: var(--gt-link-font-color, var(--gt-primary));

  &:hover {
    color: var(--gt-link-hover-font-color, var(--gt-secondary));
  }
}

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

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

/* -- [03.3] List Styles -- */
.gt-list {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin: 0;
  padding: 0;

  .gt-list__item {
    line-height: 1;

    &.gt-list__item--spacer {
      height: 1.5rem;
    }
  }

  &.gt-list--style-none {
    list-style: none;
  }
}

/* -- [03.4] Button Styles -- */
.gt-btn {
  padding: var(--gt-button-padding);
  background-color: var(--gt-button-background-color, var(--gt-primary));
  color: var(--gt-button-font-color, var(--gt-background));
  border: none;
  border-radius: var(--gt-button-border-radius);
  font-size: var(--gt-button-font-size);
  line-height: var(--gt-button-line-height);
  font-weight: var(--gt-button-font-weight);
  text-decoration: none;
  transition: color 180ms ease, background-color 180ms ease;
  cursor: pointer;

  &:is(:hover, :focus) {
    background-color: var(--gt-button-hover-background-color, var(--gt-secondary));
  }

  &:focus-visible {
    outline: 2px solid var(--gt-accessibility-color);
    outline-offset: 2px;
    visibility: visible;
    opacity: 1;
  }
}

/* -- [03.5] Sitemap Styles -- */
.gt-site-map__list {
  margin: 0 0 0;
  padding: 0 0 0;
  list-style: none;

  .gt-site-map__list-child {
    padding: 0 0 0 1rem;
    list-style: none;
  }

  li {
    padding: 0.2rem 0;
  }
}

/* -- [03.6] blockquote Styles -- */
blockquote{
    border-left: 5px solid rgba(0, 0, 0, .05);
    padding: 20px;
    font-size: 1rem;
    font-style: italic;
    margin: 0 0 1.5rem;
    position: relative;
}


/* ================= [04] Layout ================= */
/* -- [04.1] Header Styles -- */
.gt-header {
  position: var(--gt-header-position-mode, relative);
  top: var(--gt-header-position-top, auto);
  left: var(--gt-header-position-left, auto);
  width: var(--gt-header-max-width);
  padding: var(--gt-header-padding);
  z-index: 500;

  /* -- [04.1.a] Header Inner Styles -- */
  .gt-header__inner {
    max-width: var(--gt-header-inner-max-width);
    padding: var(--gt-header-inner-padding);

    /* -- [04.1.b] Mobile Header Inner Styles -- */
    &.gt-header__inner--mobile {
      display: block;

      @media (min-width: 992px) {
        display: none;
      }
    }

    /* -- [04.1.c] Desktop Header Inner Styles -- */
    &.gt-header__inner--desktop {
      display: none;

      @media (min-width: 992px) {
        display: block;
      }
    }
  }

  /* -- [04.1.d] Header Row Styles -- */
  .gt-header__row {
    max-width: var(--gt-header-row-max-width);

    &.gt-header__row--top {
      background-color: var(--gt-header-row-top-effective-background-color, var(--gt-header-row-top-background-color));
      color: var(--gt-header-row-top-effective-text-color, var(--gt-header-row-top-text-color));
      font-family: var(--gt-header-row-top-font-family);
      font-size: var(--gt-header-row-top-font-size);
      font-weight: var(--gt-header-row-top-font-weight);
      line-height: var(--gt-header-row-top-line-height);
    }

    &.gt-header__row--main {
      background-color: var(--gt-header-row-main-effective-background-color, var(--gt-header-row-main-background-color));
      color: var(--gt-header-row-main-effective-text-color, var(--gt-header-row-main-text-color));
      font-family: var(--gt-header-row-main-font-family);
      font-size: var(--gt-header-row-main-font-size);
      font-weight: var(--gt-header-row-main-font-weight);
      line-height: var(--gt-header-row-main-line-height);
    }

    &.gt-header__row--bottom {
      background-color: var(--gt-header-row-bottom-effective-background-color, var(--gt-header-row-bottom-background-color));
      color: var(--gt-header-row-bottom-effective-text-color, var(--gt-header-row-bottom-text-color));
      font-family: var(--gt-header-row-bottom-font-family);
      font-size: var(--gt-header-row-bottom-font-size);
      font-weight: var(--gt-header-row-bottom-font-weight);
      line-height: var(--gt-header-row-bottom-line-height);
    }
  }

  /* -- [04.1.e] Header Row Inner Styles -- */
  .gt-header__row-inner {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    margin: 0 auto;

    &.gt-header__row-inner--top {
      max-width: var(--gt-header-row-top-inner-max-width);
      padding-top: var(--gt-header-row-top-inner-padding-top);
      padding-right: var(--gt-header-row-top-inner-padding-right);
      padding-bottom: var(--gt-header-row-top-inner-padding-bottom);
      padding-left: var(--gt-header-row-top-inner-padding-left);
    }

    &.gt-header__row-inner--main {
      max-width: var(--gt-header-row-main-inner-max-width);
      padding-top: var(--gt-header-row-main-inner-padding-top);
      padding-right: var(--gt-header-row-main-inner-padding-right);
      padding-bottom: var(--gt-header-row-main-inner-padding-bottom);
      padding-left: var(--gt-header-row-main-inner-padding-left);
    }

    &.gt-header__row-inner--bottom {
      max-width: var(--gt-header-row-bottom-inner-max-width);
      padding-top: var(--gt-header-row-bottom-inner-padding-top);
      padding-right: var(--gt-header-row-bottom-inner-padding-right);
      padding-bottom: var(--gt-header-row-bottom-inner-padding-bottom);
      padding-left: var(--gt-header-row-bottom-inner-padding-left);
    }
  }

  /* -- [04.1.f] Header Column Styles -- */
  .gt-header__column {
    min-width: 0;

    &.gt-header__column--start {
      display: flex;
      justify-content: flex-start;
      align-items: center;
    }

    &.gt-header__column--middle {
      display: flex;
      justify-content: center;
      align-items: center;
    }

    &.gt-header__column--end {
      display: flex;
      justify-content: flex-end;
      align-items: center;
    }
  }
}

.gt-main,
.gt-sidebar {
  padding-top: var(--gt-header-content-padding-top, 0px);
}

/* -- [04.2] Content Styles -- */
.gt-content {
  &.gt-content--sidebar-right {
    width: 100%;
    margin-left: auto;
    margin-right: auto;

    @media (min-width: 992px) {
      display: flex;
      gap: 3rem;
      max-width: var(--gt-max-width);
    }

    .gt-main {
      width: 100%;

      @media (min-width: 992px) {
        width: calc(70% - 2.1rem);

        .gt-main__inner {
          padding-right: 0;
          padding-left: 0;
        }
      }
    }

    .gt-sidebar {
      width: 100%;

      @media (min-width: 992px) {
        width: calc(30% - 0.9rem);
      }

      .gt-sidebar__inner {
        padding-top: var(--gt-main-inner-padding-top);
        padding-bottom: var(--gt-main-inner-padding-bottom);
        padding-left: var(--gt-main-inner-padding-left);
        padding-right: var(--gt-main-inner-padding-right);

        @media (min-width: 992px) {
          padding-right: 0;
          padding-left: 0;
        }
      }
    }

    .gt-main--archive ~ .gt-sidebar {
      .gt-sidebar__inner {
        padding-top: var(--gt-archive-inner-padding-top);
        padding-bottom: var(--gt-archive-inner-padding-bottom);
        padding-left: var(--gt-archive-inner-padding-left);
        padding-right: var(--gt-archive-inner-padding-right);
      }
    }

    .gt-main--single ~ .gt-sidebar {
      .gt-sidebar__inner {
        padding-top: var(--gt-single-inner-padding-top);
        padding-bottom: var(--gt-single-inner-padding-bottom);
        padding-left: var(--gt-single-inner-padding-left);
        padding-right: var(--gt-single-inner-padding-right);
      }
    }
  }

  &.gt-content--sidebar-left {
    width: 100%;
    margin-left: auto;
    margin-right: auto;

    @media (min-width: 992px) {
      display: flex;
      gap: 3rem;
      max-width: var(--gt-max-width);
    }

    .gt-main {
      width: 100%;

      @media (min-width: 992px) {
        order: 2;
        width: calc(70% - 2.1rem);

        .gt-main__inner {
          padding-right: 0;
          padding-left: 0;
        }
      }
    }

    .gt-sidebar {
      width: 100%;

      @media (min-width: 992px) {
        order: 1;
        width: calc(30% - 0.9rem);
      }

      .gt-sidebar__inner {
        padding-top: var(--gt-main-inner-padding-top);
        padding-bottom: var(--gt-main-inner-padding-bottom);
        padding-left: var(--gt-main-inner-padding-left);
        padding-right: var(--gt-main-inner-padding-right);

        @media (min-width: 992px) {
          padding-right: 0;
          padding-left: 0;
        }
      }
    }

    .gt-main--archive ~ .gt-sidebar {
      .gt-sidebar__inner {
        padding-top: var(--gt-archive-inner-padding-top);
        padding-bottom: var(--gt-archive-inner-padding-bottom);
        padding-left: var(--gt-archive-inner-padding-left);
        padding-right: var(--gt-archive-inner-padding-right);
      }
    }

    .gt-main--single ~ .gt-sidebar {
      .gt-sidebar__inner {
        padding-top: var(--gt-single-inner-padding-top);
        padding-bottom: var(--gt-single-inner-padding-bottom);
        padding-left: var(--gt-single-inner-padding-left);
        padding-right: var(--gt-single-inner-padding-right);
      }
    }
  }
}

/* -- [04.2.a] Main Styles -- */
.gt-main {
  position: relative;
  z-index: 300;

  .gt-main__inner {
    padding-top: var(--gt-main-inner-padding-top);
    padding-bottom: var(--gt-main-inner-padding-bottom);

    .gt-entry__header {
      max-width: var(--gt-entry-header-max-width);
      margin: 0 auto;
      padding-left: var(--gt-main-inner-padding-left);
      padding-right: var(--gt-main-inner-padding-right);
    }

    .gt-entry__content {
      max-width: var(--gt-entry-content-max-width);
      margin-left: auto;
      margin-right: auto;
      padding-left: var(--gt-main-inner-padding-left);
      padding-right: var(--gt-main-inner-padding-right);
    }

    .gt-entry__footer {
      max-width: var(--gt-entry-footer-max-width);
      margin: 0 auto;
      padding-left: var(--gt-main-inner-padding-left);
      padding-right: var(--gt-main-inner-padding-right);
    }

    .gt-entry__content > .alignwide {
      width: min(
        var(--gt-wide-width),
        calc(100vw - var(--gt-main-inner-padding-left) - var(--gt-main-inner-padding-right))
      );
      max-width: none;
      margin-left: 50%;
      transform: translateX(-50%);
    }

    .gt-entry__content > .alignfull {
      max-width: none;
      margin-left: calc(50% - 50vw);
      margin-right: calc(50% - 50vw);
    }

    .gt-entry__content > .alignwide.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
    .gt-entry__content > .alignfull.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
      max-width: min(
        calc(var(--gt-entry-content-max-width) - var(--gt-main-inner-padding-left) - var(--gt-main-inner-padding-right)),
        calc(100% - var(--gt-main-inner-padding-left) - var(--gt-main-inner-padding-right))
      );
      margin-left: auto !important;
      margin-right: auto !important;
    }

    .gt-entry__content > .alignwide.is-layout-constrained > .alignwide,
    .gt-entry__content > .alignfull.is-layout-constrained > .alignwide {
      max-width: min(
        calc(var(--gt-wide-width) - var(--gt-main-inner-padding-left) - var(--gt-main-inner-padding-right)),
        calc(100% - var(--gt-main-inner-padding-left) - var(--gt-main-inner-padding-right))
      );
    }

    .gt-entry__content img {
      max-width: 100%;
    }

    .gt-entry__content .wp-caption {
      max-width: 100%;
    }

    .gt-entry__content .alignleft {
      float: left;
      margin: 0.25rem 1.25rem 1.25rem 0;
    }

    .gt-entry__content .alignright {
      float: right;
      margin: 0.25rem 0 1.25rem 1.25rem;
    }

    .gt-entry__content .aligncenter {
      margin: 0 auto 1.25rem;
    }

    .gt-entry__content figure.alignleft,
    .gt-entry__content figure.alignright {
      display: table;
    }

    .gt-entry__content::after {
      content: "";
      display: block;
      clear: both;
    }
  }
  &.gt-main--404 {
    .gt-main__inner {
      --gt-main-inner-padding-top: var(--gt-404-inner-padding-top);
      --gt-main-inner-padding-bottom: var(--gt-404-inner-padding-bottom);
      --gt-main-inner-padding-left: var(--gt-404-inner-padding-left);
      --gt-main-inner-padding-right: var(--gt-404-inner-padding-right);
    }

    .gt-entry__content {
      max-width: var(--gt-404-inner-max-width);
      margin: 0 auto;
    }
  }

  &.gt-main--archive {
    .gt-main__inner {
      --gt-main-inner-padding-top: var(--gt-archive-inner-padding-top);
      --gt-main-inner-padding-bottom: var(--gt-archive-inner-padding-bottom);
    }

    .gt-archive-content,
    .gt-archive-content__loop {
      max-width: var(--gt-archive-inner-max-width);
      margin: 0 auto;
      padding-left: var(--gt-archive-inner-padding-left);
      padding-right:var(--gt-archive-inner-padding-right);
    }

    .gt-archive-description {
      margin-bottom: 4rem;
    }
  }

  &.gt-main--single {
    .gt-main__inner {
      --gt-main-inner-padding-top: var(--gt-single-inner-padding-top);
      --gt-main-inner-padding-bottom: var(--gt-single-inner-padding-bottom);
    }

    .gt-entry__header {
        max-width: var(--gt-single-header-max-width);
        padding-left: var(--gt-single-inner-padding-left);
        padding-right:var(--gt-single-inner-padding-right);
    }

    .gt-entry__content {
      max-width: var(--gt-single-content-max-width);
      padding-left: var(--gt-single-inner-padding-left);
      padding-right:var(--gt-single-inner-padding-right);
    }

    .gt-entry__footer {
      max-width: var(--gt-single-footer-max-width);
      padding-left: var(--gt-single-inner-padding-left);
      padding-right:var(--gt-single-inner-padding-right);
    }
  }
}

/* -- [04.3] Archive Styles -- */
.gt-archive-content__loop {
  /* -- [04.3.a] Archive List Styles -- */
  .gt-archive__list {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    margin: 0;
    padding: 0;
    list-style: none;
  }
}

/* -- [04.4] Footer Styles -- */
.gt-footer {
  position: relative;
  width: var(--gt-footer-max-width);
  padding: var(--gt-footer-padding);
  z-index: 400;

  /* -- [04.4.a] Footer Inner Styles -- */
  .gt-footer__inner {
    max-width: var(--gt-footer-inner-max-width);
    padding: var(--gt-footer-inner-padding);
  }

  /* -- [04.4.b] Footer Row Styles -- */
  .gt-footer__row {
    max-width: var(--gt-footer-row-max-width);

    &.gt-footer__row--top {
      background-color: var(--gt-footer-row-top-background-color);
    }

    &.gt-footer__row--main {
      background-color: var(--gt-footer-row-main-background-color);
    }

    &.gt-footer__row--bottom {
      background-color: var(--gt-footer-row-bottom-background-color);
    }

  }

  /* -- [04.4.c] Footer Row Inner Styles -- */
  .gt-footer__row-inner {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    margin: 0 auto;

    &.gt-footer__row-inner--top {
      max-width: var(--gt-footer-row-top-inner-max-width);
      gap: var(--gt-footer-row-top-gap-mobile);
      padding-top: var(--gt-footer-row-top-inner-padding-top);
      padding-right: var(--gt-footer-row-top-inner-padding-right);
      padding-bottom: var(--gt-footer-row-top-inner-padding-bottom);
      padding-left: var(--gt-footer-row-top-inner-padding-left);

      @media (min-width: 992px) {
        gap: var(--gt-footer-row-top-gap-desktop);
      }
    }

    &.gt-footer__row-inner--main {
      max-width: var(--gt-footer-row-main-inner-max-width);
      gap: var(--gt-footer-row-main-gap-mobile);
      padding-top: var(--gt-footer-row-main-inner-padding-top);
      padding-right: var(--gt-footer-row-main-inner-padding-right);
      padding-bottom: var(--gt-footer-row-main-inner-padding-bottom);
      padding-left: var(--gt-footer-row-main-inner-padding-left);

      @media (min-width: 992px) {
        gap: var(--gt-footer-row-main-gap-desktop);
      }
    }

    &.gt-footer__row-inner--bottom {
      max-width: var(--gt-footer-row-bottom-inner-max-width);
      gap: var(--gt-footer-row-bottom-gap-mobile);
      padding-top: var(--gt-footer-row-bottom-inner-padding-top);
      padding-right: var(--gt-footer-row-bottom-inner-padding-right);
      padding-bottom: var(--gt-footer-row-bottom-inner-padding-bottom);
      padding-left: var(--gt-footer-row-bottom-inner-padding-left);

      @media (min-width: 992px) {
        gap: var(--gt-footer-row-bottom-gap-desktop);
      }
    }

  }

  /* -- [04.4.d] Footer Column Styles -- */
  .gt-footer__column {
    flex: 1 1 100%;
    min-width: 0;

    @media (min-width: 992px) {
      flex-basis: calc((100% - 1.5rem) / 4);
    }
  }

  /* -- [04.4.e] Footer Column Inner Styles -- */
  .gt-footer__column-inner {
      text-align: center;

      @media (min-width: 992px) {
        text-align: left;
      }
  }

  .gt-footer__column--order-01 {
    order: 2;

    @media (min-width: 992px) {
      order: 1;
    }
  }

  .gt-footer__column--order-02 {
    order: 1;

    @media (min-width: 992px) {
      order: 2;
    }
  }
}

/* ================= [05] Components ================= */
/* -- [05.1] Skip Navigation Styles -- */
.gt-skip-links {
  position: fixed;
  top: 0px;
  left: 0px;
  z-index: 99999;

  .gt-skip-links__list {
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .gt-skip-links__item--desktop-nav {
    display: none;

    @media (min-width: 992px) {
      display: list-item;
    }
  }

  .gt-skip-links__item--mobile-nav {
    display: list-item;

    @media (min-width: 992px) {
      display: none;
    }
  }

  .gt-skip-links__link {
    position: fixed;
    top: 50px;
    left: 20px;
    z-index: 999999;
    opacity: 0;
    min-width: 200px;
    padding: 1rem 1.5rem;
    background-color: #ffffff;
    color: #222222;
    border: 3px solid var(--gt-accessibility-color);
    border-radius: 50px;
    outline: var(--gt-accessibility-color) solid 0px;
    direction: ltr;
    font-size: 1rem;
    text-align: center;
    text-decoration: none;
    transition: top 0.3s ease-out 0s;
    pointer-events: none;

    &:focus {
      top: 20px;
      opacity: 1;
      pointer-events: auto;
    }
  }
}

/* -- [05.2] Header Notice Styles -- */
.gt-header-notice {
  position: relative;
  width: 100%;
  display: block;
  color: var(--gt-notice-text-color);
  background-color: var(--gt-notice-bg-color);

  &.gt-header-notice--is-disabled {
    display: none;
  }

  .gt-header-notice__viewport {
    overflow: hidden;
  }

  .gt-header-notice__track {
    display: flex;
  }

  .gt-header-notice__slide {
    flex: 0 0 100%;
    background-color: var(--gt-notice-bg-color);
    color: var(--gt-notice-text-color);
  }

  .gt-header-notice__inner {
    display: grid;
    grid-template-columns: 2.25rem minmax(0, 1fr) 2.25rem 2.25rem;
    align-items: center;
    column-gap: 0.5rem;
  }

  .gt-header-notice__content {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    max-width: var(--gt-max-width);
    margin: 0 auto;
    padding: 0.75rem 0 0.75rem 0;
    text-align: center;
    grid-column: 2;
    justify-self: start;
  }

  .gt-header-notice__message {
    margin: 0;
    font-size: 0.8rem;
    line-height: 1.5;
  }

  .gt-header-notice__link {
    color: var(--gt-notice-link-color);
    text-decoration: none;
    font-size: 0.8rem;
    line-height: 1.5;

    &:is(:hover, :focus) {
      color: var(--gt-notice-link-hover-color);
    }

    &:focus-visible {
      outline: 2px solid var(--gt-accessibility-color);
      outline-offset: 2px;
      visibility: visible;
      opacity: 1;
    }
  }

  .gt-header-notice__controls {
    position: absolute;
    inset: 0;
    display: grid;
    grid-template-columns: 2.25rem minmax(0, 1fr) 2.25rem 2.25rem;
    align-items: center;
    column-gap: 0.5rem;
    pointer-events: none;
  }

  .gt-header-notice__control,
  .gt-header-notice__dismiss {
    pointer-events: auto;
    background: transparent;
    color: var(--gt-notice-control-color);
    border: none;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 1.2rem;

    &:disabled {
      opacity: 0.4;
      cursor: default;
    }

    &:is(:hover, :focus-visible) {
      color: var(--gt-notice-control-hover-color);
    }

    &:focus-visible {
      outline: 2px solid var(--gt-accessibility-color);
      outline-offset: 2px;
      visibility: visible;
      opacity: 1;
    }
  }

  .gt-header-notice__control--prev {
    grid-column: 1;
    justify-self: start;
  }

  .gt-header-notice__control--next {
    grid-column: 3;
    justify-self: end;
  }

  .gt-header-notice__dismiss {
    grid-column: 4;
    justify-self: end;
  }

  @media (min-width: 992px) {
    .gt-header-notice__content {
      flex-direction: row;
    }

    .gt-header-notice__content {
      gap: 0.5rem;
      padding: 0.6rem var(--gt-global-padding-right) 0.6rem var(--gt-global-padding-left);
    }
  }
}

/* -- [05.3] Logo Styles -- */
.gt-logo {
  &:focus-visible {
    outline: 2px solid var(--gt-accessibility-color);
    outline-offset: 2px;
    visibility: visible;
    opacity: 1;
  }

  /* -- [05.3.a] Default Logo Styles -- */
  &.gt-logo--default {
    display: var(--gt-logo-default-display, block);
  }

  /* -- [05.3.b] Transparent Logo Styles -- */
  &.gt-logo--transparent {
    display: var(--gt-logo-transparent-display, none);
  }

  /* -- [05.3.c] Transparent Scroll Logo Styles -- */
  &.gt-logo--transparent-scroll {
    display: var(--gt-logo-transparent-scroll-display, none);
  }

  /* -- [05.3.d] Shrink Logo Styles -- */
  &.gt-logo--shrink {
    display: var(--gt-logo-shrink-display, none);
  }

  /* -- [05.3.e] Shrink Transparent Logo Styles -- */
  &.gt-logo--shrink-transparent {
    display: var(--gt-logo-shrink-transparent-display, none);
  }

  /* -- [05.3.f] Footer Logo Styles -- */
  &.gt-logo--footer {
    .gt-logo__image--footer {
      margin: 1.5rem auto;

      @media (min-width: 992px) {
        margin: 0;
      }
    }
  }
}

/* -- [05.4] Navigation Styles -- */
.gt-navigation {
  /* -- [05.4.a] Navigation Base Styles -- */
  :where(ul) {
    margin: 0;
    padding: 0;
    list-style: none;
  }

  :where(.gt-navigation__list) {
    display: var(--gt-navigation-display);
    flex-direction: var(--gt-navigation-flex-direction);
    gap: var(--gt-navigation-flex-gap);

    :where(.menu-item) {
      position: relative;
      padding: 0;
      margin: 0;

      /* -- [05.4.b] Navigation Links Styles -- */
      &.current-menu-item > a,
      &.current-menu-ancestor > a {
        background-color: var(--gt-navigation-active-background-color);
        color: var(--gt-navigation-active-font-color);
      }

      &.menu-item-has-children {
        display: flex;
        flex-wrap: wrap;
        align-items: var(--gt-navigation-link-align);
      }

      &.menu-item-has-children > a {
        flex: 1 1 auto;
      }

      /* -- [05.4.c] Navigation Disclosure Button Styles -- */
      :where(.gt-navigation__submenu-toggle) {
        display: flex;
        justify-content: center;
        align-items: center;
        align-self: stretch;
        min-width: 1rem;
        min-height: 1rem;
        padding: 0.25rem;
        margin: var(--gt-navigation-link-margin);
        background-color: var(--gt-navigation-link-background-color);
        color: var(--gt-navigation-link-font-color);
        border: 0;
        border-radius: 0;
        font: inherit;
        line-height: var(--gt-navigation-link-line-height);
        cursor: pointer;
        transition: color 180ms ease, background-color 180ms ease;

        &::before {
          content: "";
          background-color: currentColor;
          -webkit-mask-image: var(--gt-navigation-caret);
          mask-image: var(--gt-navigation-caret);
          -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
          -webkit-mask-size: 100% 100%;
          mask-size: 100% 100%;
          width: var(--gt-navigation-caret-width);
          height: var(--gt-navigation-caret-height);
          transform-origin: center;
          transform: rotate(0deg);
          transition: transform 2180ms ease;
        }

        &:is(:hover, :focus) {
          background-color: var(--gt-navigation-link-hover-background-color);
          color: var(--gt-navigation-link-hover-font-color);
        }

        &:focus-visible {
          outline: 2px solid var(--gt-accessibility-color);
          outline-offset: 2px;
          visibility: visible;
          opacity: 1;
        }

        &[aria-expanded="true"]::before {
          transform: rotate(180deg);
        }

        &[aria-expanded="true"] + :where(.sub-menu) {
          display: flex;
          visibility: visible;
          top: var(--gt-navigation-subnav-top);
          left: var(--gt-navigation-subnav-left);
          height: auto;
        }
      }

      :where(a) {
        display: flex;
        justify-content: var(--gt-navigation-flex-justify);
        align-items: var(--gt-navigation-link-align);
        padding: var(--gt-navigation-link-padding);
        margin: var(--gt-navigation-link-margin);
        background-color: var(--gt-navigation-link-background-color);
        color: var(--gt-navigation-link-font-color);
        font-family: var(--gt-navigation-link-font-family, inherit);
        font-size: var(--gt-navigation-link-font-size);
        font-weight: var(--gt-navigation-link-font-weight);
        line-height: var(--gt-navigation-link-line-height);
        text-decoration: none;
        transition: color 180ms ease, background-color 180ms ease;

        &:is(:hover, :focus) {
          background-color: var(--gt-navigation-link-hover-background-color);
          color: var(--gt-navigation-link-hover-font-color);
        }

        &:focus-visible {
          outline: 2px solid var(--gt-accessibility-color);
          outline-offset: 2px;
          visibility: visible;
          opacity: 1;
        }

      }

      /* -- [05.4.d] Sub Menu Base Styles -- */
      :where(.sub-menu) {
        display: none;
        flex-direction:var(--gt-navigation-subnav-flex-direction);
        justify-content: var(--gt-navigation-subnav-flex-justify);
        gap: var(--gt-navigation-subnav-flex-gap);
        align-items: var(--gt-navigation-subnav-link-align);
        visibility: hidden;
        position: var(--gt-navigation-subnav-position);
        top: -999em;
        left: -999em;
        z-index: 900;
        width: var(--gt-navigation-subnav-width);
        flex-basis: 100%;
        height: 0;
        margin: var(--gt-navigation-subnav-margin);
        padding: 0;
        background-color: var(--gt-navigation-subnav-background-color);
        list-style: none;

        /* -- [05.4.e] Sub Menu Items Styles -- */
        :where(.menu-item) {
          padding: 0;
          margin: 0;

          &.current-menu-item > a,
          &.current-menu-ancestor > a {
            background-color: var(--gt-navigation-subnav-link-active-background-color);
            color: var(--gt-navigation-subnav-link-active-font-color);
          }

          :where(.gt-navigation__submenu-toggle) {
            background-color: var(--gt-navigation-subnav-link-background-color);
            color: var(--gt-navigation-subnav-link-font-color);
            line-height: var(--gt-navigation-subnav-link-line-height);

            &:is(:hover, :focus) {
              background-color: var(--gt-navigation-subnav-hover-background-color);
              color: var(--gt-navigation-subnav-hover-font-color);
            }

            &[aria-expanded="true"] + :where(.sub-menu) {
              display: flex;
              visibility: visible;
              top: var(--gt-navigation-subnav-subnav-top);
              left: var(--gt-navigation-subnav-subnav-left);
              height: auto;
            }
          }

          :where(a) {
            display: flex;
            justify-content: var(--gt-navigation-flex-justify);
            align-items: var(--gt-navigation-subnav-link-align);
            width: var(--gt-navigation-subnav-width);
            padding: var(--gt-navigation-subnav-link-padding);
            margin: var(--gt-navigation-subnav-link-margin);
            background-color: var(--gt-navigation-subnav-link-background-color);
            color: var(--gt-navigation-subnav-link-font-color);
            font-family: var(--gt-navigation-subnav-link-font-family, inherit);
            font-size: var(--gt-navigation-subnav-link-font-size);
            font-weight: var(--gt-navigation-subnav-link-font-weight);
            line-height: var(--gt-navigation-subnav-link-line-height);

            &:is(:hover, :focus) {
              background-color: var(--gt-navigation-subnav-hover-background-color);
              color: var(--gt-navigation-subnav-hover-font-color);
            }

            &:focus-visible {
              outline: 2px solid var(--gt-accessibility-color);
              outline-offset: 2px;
              visibility: visible;
              opacity: 1;
            }

          }

          &.menu-item-has-children {
            width: var(--gt-navigation-subnav-width);

            > a {
              width: auto;
              min-width: 0;
            }
          }
        }
      }

    }

  }

  &:not(.gt-navigation--mobile) {
    :where(.gt-navigation__list) {
      /* -- [05.4.f] Sub Menu States Styles -- */
      > :where(.menu-item:hover > .sub-menu) {
        display: flex;
        visibility: visible;
        top: var(--gt-navigation-subnav-top);
        left: var(--gt-navigation-subnav-left);
        height: auto;
      }

      :where(.sub-menu) > :where(.menu-item:hover > .sub-menu) {
        display: flex;
        visibility: visible;
        top: var(--gt-navigation-subnav-subnav-top);
        left: var(--gt-navigation-subnav-subnav-left);
        height: auto;
      }
    }
  }

  &.gt-navigation--mobile {
    :where(.menu-item-has-children) {
      align-items: stretch;
    }

    :where(.menu-item-has-children > a) {
      min-width: 0;
    }

    :where(.gt-navigation__submenu-toggle) {
      flex: 0 0 44px;
      width: 44px;
      min-width: 44px;
      min-height: 44px;
      padding: 0;
      margin-left: 0.25rem;
      background-color: rgba(0, 0, 0, 0.05);
      background-color: color-mix(in srgb, currentColor 10%, transparent);
      border-radius: 0.25rem;

      &:is(:hover, :focus) {
        background-color: rgba(0, 0, 0, 0.1);
        background-color: color-mix(in srgb, currentColor 16%, transparent);
      }
    }
  }
}

/* -- [05.4.h] Toggle Mobile Styles -- */
:where(.gt-toggle-mobile) {
  position: relative;
  padding: 8px;
  width: 40px;
  height: 40px;
  background-color: transparent;
  border: 1px solid transparent;
  border-radius: 5px;
  cursor: pointer;
  transition: all 300ms ease-out;
  z-index: 600;

  &:hover {
    background-color: transparent;
    border-color: transparent;

    :where(.gt-toggle-mobile__bar) {
      background: var(--gt-navigation-toggle-bar-hover-color, var(--gt-navigation-toggle-bar-color, #000000));
    }
  }

  :where(.gt-toggle-mobile__bar) {
    display: block;
    width: 100%;
    height: 3px;
    background: var(--gt-navigation-toggle-bar-color, #000000);
    border-radius: 3px;
    transform-origin: center;
    transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);

    &:nth-child(2) {
      margin: 4px 0;
    }
  }

  &.gt-toggle-mobile--is-open {
    :where(.gt-toggle-mobile__bar) {
      &:first-child {
        transform: translateY(8px) rotate(45deg);
      }

      &:nth-child(2) {
        opacity: 0;
      }

      &:last-child {
        transform: translateY(-6px) rotate(-45deg);
      }
    }
  }
}

:where(#gt-mobile__toggle--closed) {
  &:hover {
    :where(.gt-toggle-mobile__bar) {
      background: var(
        --gt-navigation-close-toggle-bar-hover-color,
        var(--gt-navigation-close-toggle-bar-color, var(--gt-navigation-toggle-bar-hover-color, var(--gt-navigation-toggle-bar-color, #000000)))
      );
    }
  }

  :where(.gt-toggle-mobile__bar) {
    background: var(--gt-navigation-close-toggle-bar-color, var(--gt-navigation-toggle-bar-color, #000000));
  }
}

/* -- [05.4.i] Drawer Styles -- */
:where(.gt-navigation__drawer) {
  display: block;
  position: fixed;
  inset: 0;
  visibility: hidden;
  pointer-events: none;
  transition: visibility 0s linear 0.4s;
  z-index: 600;

  &.gt-navigation__drawer--is-open {
    visibility: visible;
    pointer-events: auto;
    transition: visibility 0s linear 0s;

    :where(.gt-navigation__drawer-inner) {
      transform: translateX(0%);
    }

    :where(.gt-navigation__drawer-overlay) {
      opacity: 1;
      visibility: visible;
      transition-delay: 0.1s, 0s;
    }
  }

  :where(.gt-navigation__drawer-header) {
    display: flex;
    justify-content: flex-end;
    align-items: center;
  }

  :where(.gt-navigation__drawer-inner) {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    width: 90%;
    padding: 1.5rem;
    background: var(--gt-navigation-drawer-background-color, #ffffff);
    border-top-left-radius: 0.3rem;
    border-bottom-left-radius: 0.3rem;
    transform: translateX(100%);
    transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1);
  }

  :where(.gt-navigation__drawer-overlay) {
    position: fixed;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.4);
    opacity: 0;
    visibility: hidden;
    transition:
      opacity 0.3s ease-out 0.1s,
      visibility 0s linear 0.4s;
  }
}

/* -- [05.5] Breadcrumb Styles -- */
.gt-breadcrumbs {
  margin: 0 0 1.5rem 0;

  .gt-breadcrumbs__list {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin: 0;
    padding: 0;
    list-style: none;

    .gt-breadcrumbs__item {
      &:not(:last-child)::after {
        content: "|";
        margin-left: 0.5rem;
        font-size: 0.6rem;
      }
    }

    .gt-breadcrumbs__link {
      font-family: var(--gt-breadcrumbs-font-family);
      color: var(--gt-breadcrumbs-font-color);
      font-size: var(--gt-breadcrumbs-font-size);
      line-height: var(--gt-breadcrumbs-line-height);
      font-weight: var(--gt-breadcrumbs-font-weight);
      text-decoration: none;
      transition: color 180ms ease;

      &:is(:hover, :focus) {
        color: var(--gt-breadcrumbs-hover-font-color);
      }

      &:focus-visible {
        outline: 2px solid var(--gt-accessibility-color);
        outline-offset: 2px;
        visibility: visible;
        opacity: 1;
      }

      &.gt-breadcrumbs__link--is-active {
        color: var(--gt-breadcrumbs-active-font-color);
        font-weight: var(--gt-breadcrumbs-active-font-weight);
      }
    }
  }
}

/* -- [05.7] Card Styles -- */
.gt-post {
  width: 100%;
  margin: 0 auto 2.5rem 0;
  color: var(--gt-post-font-color);

  .gt-post__inner {
    padding: var(--gt-post-padding);
  }

  .gt-post__content {
    &.gt-post__content--format-gallery {
      padding: 1rem 0 0 0;
    }

    &.gt-post__content--format-image {
      padding: 1rem 0 0 0;

      .wp-block-image {
        display: block;

        a {
          display: block;
        }

        img {
          overflow: hidden;
          aspect-ratio: var(--gt-post-image-aspect-ratio);
          display: block;
          width: 100%;
          height: 100%;
          margin: var(--gt-post-image-margin);
          padding: var(--gt-post-image-padding);
          border-radius: var(--gt-post-image-border-radius);
        }
      }
    }

    &.gt-post__content--format-video {
      padding: 1rem 0 0 0;
    }

    &.gt-post__content--format-link {
      padding: 1rem 0 0 0;
    }

    &.gt-post__content--format-chat {
      padding: 1rem 0 0 0;

    }
  }

  .gt-post__footer {
    margin-top: 2rem;
  }
}

/* -- [05.8] Featured Image Styles -- */
.gt-post__image {
  &.gt-post__image--post {
    .gt-post__image-link {
      overflow: hidden;
      aspect-ratio: var(--gt-post-image-aspect-ratio);
      display: block;
      width: 100%;
      height: 100%;
      margin: var(--gt-post-image-margin);
      padding: var(--gt-post-image-padding);
      border-radius: var(--gt-post-image-border-radius);
    }

    .gt-post__image-img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center;
      display: block;
    }
  }

  &.gt-post__image--single {
    overflow: hidden;
    aspect-ratio: var(--gt-single-post-image-aspect-ratio);
    margin: var(--gt-single-post-image-margin);
    padding: var(--gt-single-post-image-padding);
    border-radius: var(--gt-single-post-image-border-radius);

    .gt-post__image-img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center;
      display: block;
    }
  }

  &.gt-post__image--page {
    overflow: hidden;
    aspect-ratio: var(--gt-page-image-aspect-ratio);
    margin: var(--gt-page-image-margin);
    padding: var(--gt-page-image-padding);
    border-radius: var(--gt-page-image-border-radius);

    .gt-post__image-img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center;
      display: block;
    }
  }
}

/* -- [05.9] Title Styles -- */
.gt-post-title {
  margin: var(--gt-post-title-margin);
  padding: var(--gt-post-title-padding);
  font-size: var(--gt-post-title-font-size);
  line-height: var(--gt-post-title-line-height);
  font-weight: var(--gt-post-title-font-weight);

  .gt-post-title__link {
    color: var(--gt-post-title-font-color);
    text-decoration: none;
    transition: color 180ms ease;

    &:hover {
      color: var(--gt-post-title-hover-font-color);
    }

    &:focus-visible {
      outline: solid 2px var(--gt-accessibility-color);
      outline-offset: 2px;
      visibility: visible;
      opacity: 1;
    }
  }
}

/* -- [05.10] Meta Styles -- */
.gt-post-meta {
  display: flex;
  gap: 0.5rem;

  &.gt-post-meta--header {
    margin-bottom: 0.5rem;

    .gt-post-meta__col {
      &.gt-post-meta__col--1 {
        max-width: 60px;
      }

      &.gt-post-meta__col--2 {
        max-width: calc(100% - 60px);
      }
    }

    .gt-post-meta__row {
      display: flex;
      align-items: center;
      gap: 0.5rem;

      &.gt-post-meta__row--sub {
        margin-top: 0.2rem;
      }
    }

    .gt-post-meta__sep {
      display: inline-flex;
      align-items: center;
      font-size: max(var(--gt-post-date-font-size), var(--gt-post-reading-font-size));
      line-height: 1;
    }
  }

  &.gt-post-meta--footer {
    .gt-post-meta__col {
      flex: 1 1 0;
      min-width: 0;

      &.gt-post-meta__col--1 {
        display: flex;
        justify-content: flex-start;
      }

      &.gt-post-meta__col--2 {
        display: flex;
        justify-content: flex-end;
      }
    }
  }
}

.single {
  .gt-post-meta--footer {
    margin: 3rem 0 1rem 0;
  }
}

/* -- [05.11] Date Styles -- */
.gt-post-date {
  display: inline-flex;
  align-items: center;
  color: var(--gt-post-date-font-color);
  font-size: var(--gt-post-date-font-size);
  line-height: var(--gt-post-date-line-height);
}

/* -- [05.12] Author Avatar Styles -- */
.gt-post-author-avatar {
  overflow: hidden;
  width: 32px;
  height: 32px;
  border-radius: 100%;
}

/* -- [05.13] Author Styles -- */
.gt-post-author {
  font-size: var(--gt-post-author-font-size);
  line-height: var(--gt-post-author-line-height);

  .gt-post-author__link {
    color: var(--gt-post-author-font-color);
    font-size: var(--gt-post-author-font-size);
    line-height: var(--gt-post-author-line-height);
    text-decoration: none;
    transition: color 180ms ease;

    .gt-post-author__name {
      color: var(--gt-post-author-font-color);
      font-size: var(--gt-post-author-font-size);
      line-height: var(--gt-post-author-line-height);
    }

    &:hover {
      .gt-post-author__name {
        color: var(--gt-post-author-hover-font-color);
      }
    }

    &:focus-visible {
      outline: solid 2px var(--gt-accessibility-color);
      outline-offset: 2px;
      visibility: visible;
      opacity: 1;
    }
  }
}

/* -- [05.14] Reading Time Styles -- */
.gt-post-reading {
  display: inline-flex;
  align-items: center;
  color: var(--gt-post-reading-font-color);
  font-size: var(--gt-post-reading-font-size);
  line-height: var(--gt-post-reading-line-height);
}

/* -- [05.15] Comments Styles -- */
.gt-post-comments {
  .gt-post-comments__link {
    color: var(--gt-post-comments-font-color);
    font-size: var(--gt-post-comments-font-size);
    line-height: var(--gt-post-comments-line-height);
    text-decoration: none;
    transition: color 180ms ease;

    &:hover {
      color: var(--gt-post-comments-hover-font-color);
    }

    &:focus-visible {
      outline: solid 2px var(--gt-accessibility-color);
      outline-offset: 2px;
      visibility: visible;
      opacity: 1;
    }
  }
}

/* -- [05.17] Excerpt Styles -- */
.gt-post-excerpt {
  margin: var(--gt-post-excerpt-margin);
  padding: var(--gt-post-excerpt-padding);
  color: var(--gt-post-excerpt-font-color);
  font-size: var(--gt-post-excerpt-font-size);
  line-height: var(--gt-post-excerpt-line-height);
}

/* -- [05.18] Link Styles -- */
.gt-post-link {
  .gt-post-link__link {
    color: var(--gt-post-link-font-color);
    font-size: var(--gt-post-link-font-size);
    line-height: var(--gt-post-link-line-height);
    text-decoration: none;
    transition: color 180ms ease;

    &:hover {
      color: var(--gt-post-link-hover-font-color);
    }

    &:focus-visible {
      outline: solid 2px var(--gt-accessibility-color);
      outline-offset: 2px;
      visibility: visible;
      opacity: 1;
    }
  }
}

/* -- [05.18.a] Archive Pagination Styles -- */
.gt-archive-pagination  {
	display: flex;
	justify-content: center;
	align-items: center;
  margin: 2rem 0;

  .gt-archive-pagination__list {
    display: flex;
    gap: 0.5rem;
    list-style: none;
    margin: 0;
    padding: 0;
  }

	.gt-archive-pagination__link {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 2rem;
    height: 2rem;
    color: var(--gt-archive-pagination-font-color);
    background-color: transparent;
    border-radius: 1rem;
    font-size: 1rem;
    line-height: 1;
    letter-spacing: 0;
    text-decoration: none;
    transition: color 180ms ease, background-color 180ms ease;

    &:is(:hover, :focus) {
      color: var(--gt-archive-pagination-hover-button-font-color);
      background-color: var(--gt-archive-pagination-hover-button-background-color);
      border-radius: 1rem;
    }

    &:focus-visible {
      outline: 2px solid var(--gt-accessibility-color);
      outline-offset: 2px;
      visibility: visible;
      opacity: 1;
    }

    &.gt-archive-pagination__link--current  {
      color: var(--gt-archive-pagination-hover-button-font-color);
      background-color: var(--gt-archive-pagination-hover-button-background-color);
      border-radius: 1rem;
    }

    &.gt-archive-pagination__link--dots  {
      color: var(--gt-archive-pagination-font-color);
      background-color: transparent;
      border-radius: 1rem;
      cursor: auto;
    }

    &.gt-archive-pagination__link--next,
    &.gt-archive-pagination__link--prev {
      width: auto;
      padding: 0.5rem 1rem;
    }
  }
}

/* -- [05.19] Single Post Title Styles -- */
.gt-title {
  &.gt-title--single {
    &:has(+ .gt-post-meta--header) {
      margin-bottom: 0.8rem;
    }

    + .gt-post-meta--header {
      margin-bottom: 2rem;
    }
  }
}

/* -- [05.20] Tags Styles -- */
.gt-post-tags {
  .gt-post-tags__list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
    margin: 0;
    padding: 0;
    list-style: none;

    .gt-post-tags__item {
      &.gt-post-tags__item--title {
        font-size: var(--gt-tag-label-font-size);
        font-weight: var(--gt-tag-label-font-weight);
      }

      .gt-post-tags__link {
        display: block;
        padding: var(--gt-tag-padding);
        background-color: var(--gt-tag-background);
        color: var(--gt-tag-font-color);
        border: var(--gt-tag-border);
        border-radius: var(--gt-tag-border-radius);
        text-decoration: none;
        font-size: var(--gt-tag-font-size);
        line-height: var(--gt-tag-line-height);
        transition: all 180ms ease;

        &:hover {
          background-color: var(--gt-tag-hover-background);
          color: var(--gt-tag-font-hover-color);
          border: var(--gt-tag-hover-border);
        }

        &:focus-visible {
          outline: solid 2px var(--gt-accessibility-color);
          outline-offset: 2px;
          visibility: visible;
          opacity: 1;
        }
      }
    }
  }
}

/* -- [05.21] Categories Styles -- */
.gt-post-categories {
  .gt-post-categories__list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
    margin: 0;
    padding: 0;
    list-style: none;

    .gt-post-categories__item {
      &.gt-post-categories__item--title {
        font-size: var(--gt-categories-label-font-size);
        font-weight: var(--gt-categories-label-font-weight);
      }

      .gt-post-categories__link {
        display: block;
        padding: var(--gt-categories-padding);
        background-color: var(--gt-categories-background);
        color: var(--gt-categories-font-color);
        border: var(--gt-categories-border);
        border-radius: var(--gt-categories-border-radius);
        text-decoration: none;
        font-size: var(--gt-categories-font-size);
        line-height: var(--gt-categories-line-height);
        transition: all 180ms ease;

        &:hover {
          background-color: var(--gt-categories-hover-background);
          color: var(--gt-categories-font-hover-color);
          border: var(--gt-categories-hover-border);
        }

        &:focus-visible {
          outline: solid 2px var(--gt-accessibility-color);
          outline-offset: 2px;
          visibility: visible;
          opacity: 1;
        }
      }
    }
  }
}

/* -- [05.22] Post Navigation Styles -- */
.gt-post-navigation {
  margin: 3rem 0;

  .gt-post-navigation__list {
    display: flex;
    align-items: center;
    margin: 0;
    padding: 0;
    list-style: none;
    justify-content: space-between;
    width: 100%;

    .gt-post-navigation__link {
      padding: var(--gt-post-navigation-padding);
      background-color: var(--gt-post-navigation-background-color);
      color: var(--gt-post-navigation-font-color);
      border-radius: var(--gt-post-navigation-border-radius);
      font-size: var(--gt-post-navigation-font-size);
      line-height: var(--gt-post-navigation-line-height);
      font-weight: var(--gt-post-navigation-font-weight);
      text-decoration: none;
      transition: color 180ms ease, background-color 180ms ease;

      &:is(:hover, :focus) {
        color: var(--gt-post-navigation-hover-font-color);
        background-color: var(--gt-post-navigation-hover-background-color);
      }

      &:focus-visible {
        outline: 2px solid var(--gt-accessibility-color);
        outline-offset: 2px;
        visibility: visible;
        opacity: 1;
      }
    }

    .gt-post-navigation__item--next {
      margin-left: auto;
      text-align: right;
    }
  }
}


/* -- [05.23] Social Media Share Bar Styles -- */
.gt-post__share {
    .gt-post__share-list {
        display: flex;
        align-items: center;
        gap: 0.5rem;
        list-style: none;
        margin: 0;
        padding: 0;

        .gt-post__share-item {
            &.gt-post__share-item--heading {
                color: var(--gt-share-heading-font-color);
                font-size: var(--gt-share-heading-font-size);
                font-weight: var(--gt-share-heading-font-weight);
            }
        }

        .gt-post__share-link {
            display: flex;
            align-items: center;
            width: 20px;
            height: 20px;
            color: var(--gt-share-font-color);

            &:is(:hover, :focus) {
                color: var(--gt-share-hover-font-color);
            }

            &:focus-visible {
                outline: 2px solid var(--gt-accessibility-color);
                outline-offset: 2px;
                visibility: visible;
                opacity: 1;
            }
        }
    }
}

/* -- [05.24] Related Post Styles -- */
.gt-related-posts {
  .gt-related-posts__loop {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    list-style: none;
    margin: 0;
    padding: 0;
  }
}


/* -- [05.25] Comment Styles -- */
.gt-comments {
  margin: 3.5rem 0 0 0;

  .gt-comments__title {
    font-family: var(--gt-h3-font-family);
    font-size: var(--gt-h3-font-size);
    font-weight: var(--gt-h3-font-weight);
    line-height: var(--gt-h3-line-height);
    margin-top: var(--gt-h3-margin-top);
    margin-bottom: var(--gt-h3-margin-bottom);
  }

  .comment-form-comment {
    label {
      display: block;
      margin-bottom: 0.5rem;

      .required {
        color: #ff1900;
      }
    }
  }

  .logged-in-as {
    font-size: 0.9rem;
  }

  .gt-comments__list {
    list-style: none;
    margin: 0;
    padding: 0;
  }

  .gt-comments__item {
    margin: 0 0 1.5rem 0;

    .children {
      list-style: none;
      margin: 1rem 0 0 1.5rem;
      padding: 0;
    }
  }

  .gt-comments__closed {
    margin: 1rem 0 0 0;
  }

  .gt-comments__form {
    textarea {
      min-height: 140px;
      resize: vertical;
    }
  }
}

.gt-comment {
  padding: 1rem;
  border: 1px solid var(--gt-border);
  border-radius: 0.5rem;
  background-color: var(--gt-background);

  .gt-comment__notice {
    display: inline-block;
    margin: 0 0 0.75rem 0;
    font-size: 0.9rem;
    color: var(--gt-text);
  }

  .gt-comment__header {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem;
  }

  .gt-comment__avatar {
    width: 40px;
    height: 40px;

    img {
      width: 100%;
      height: 100%;
      border-radius: 999px;
      display: block;
    }
  }

  .gt-comment__author {
    margin: 0;
    font-size: 1rem;
    font-weight: 600;
  }

  .gt-comment__date {
    font-size: 0.85rem;
    color: var(--gt-text);
  }

  .gt-comment__content {
    display: flex;
    gap: 0.75rem;
    margin-top: 0.75rem;
  }

  .gt-comment__thread {
    display: flex;
    align-items: stretch;
  }

  .gt-comment__thread-line {
    width: 2px;
    background-color: var(--gt-border);
    border-radius: 999px;
  }

  .gt-comment__message {
    flex: 1;

    p:last-child {
      margin-bottom: 0;
    }
  }

  .gt-comment__footer {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-top: 0.75rem;
  }

  .gt-comment__reply {
    margin-left: auto;

    a {
      color: var(--gt-link-font-color);
      text-decoration: none;

      &:is(:hover, :focus) {
        color: var(--gt-link-hover-font-color);
      }

      &:focus-visible {
        outline: 2px solid var(--gt-accessibility-color);
        outline-offset: 2px;
      }
    }
  }
}

.form-submit {
  .submit {
    padding: var(--gt-comment-submit-padding);
    background-color: var(--gt-comment-submit-background-color);
    color: var(--gt-comment-submit-font-color);
    border-radius: var(--gt-comment-submit-border-radius);
    border: none;
    font-size: var(--gt-comment-submit-font-size);
    line-height: var(--gt-comment-submit-line-height);
    font-weight: var(--gt-comment-submit-font-weight);
    text-decoration: none;
    transition: color 180ms ease, background-color 180ms ease;

    &:is(:hover, :focus) {
      color: var(--gt-comment-submit-hover-font-color);
      background-color: var(--gt-comment-submit-hover-background-color);
    }

    &:focus-visible {
      outline: 2px solid var(--gt-accessibility-color);
      outline-offset: 2px;
      visibility: visible;
      opacity: 1;
    }
  }
}

/* -- [05.26] Social Media Styles -- */
.gt-social-media {
    .gt-social-media__list {
        display: flex;
        justify-content: center;
        align-items: center;
        flex-wrap: wrap;
        gap: 0.3rem;
        list-style: none;
        margin: 0;
        padding: 0;

        @media (min-width: 992px) {
          justify-content: flex-end;
        }

        .gt-social-media__link {
            display: flex;
            align-items: center;
            width: var(--gt-share-icon-width);
            height: var(--gt-share-icon-height);
            color: var(--gt-share-font-color);
            backface-visibility: hidden;
            transform: translateZ(0);

            &:is(:hover, :focus) {
                color: var(--gt-share-hover-font-color);
            }

            &:focus-visible {
                outline: 2px solid var(--gt-accessibility-color);
                outline-offset: 2px;
                visibility: visible;
                opacity: 1;
            }
        }
    }
}

/* -- [05.31] WP Gallery Styles -- */
.gallery,
.wp-block-gallery,
.blocks-gallery-grid {
  --gt-gallery-columns: 1;
  --gt-gallery-gap: 1rem;

  gap: var(--gt-gallery-gap);
}

.gallery,
.wp-block-gallery,
.wp-block-gallery.has-nested-images,
.wp-block-gallery.is-layout-flex,
.blocks-gallery-grid {
  display: grid;
  grid-template-columns: repeat(var(--gt-gallery-columns), minmax(0, 1fr));
}

.wp-block-gallery,
.blocks-gallery-grid {
  --gt-gallery-columns: 3;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr));
}

.wp-block-gallery[class*="columns-"],
.blocks-gallery-grid[class*="columns-"] {
  grid-template-columns: repeat(var(--gt-gallery-columns), minmax(0, 1fr));
}

.wp-block-gallery > .blocks-gallery-grid {
  grid-column: 1 / -1;
  grid-template-columns: inherit;
}

.gallery-columns-1,
.wp-block-gallery.columns-1,
.blocks-gallery-grid.columns-1 {
  --gt-gallery-columns: 1;
}

.gallery-columns-2,
.wp-block-gallery.columns-2,
.blocks-gallery-grid.columns-2 {
  --gt-gallery-columns: 2;
}

.gallery-columns-3,
.wp-block-gallery.columns-3,
.blocks-gallery-grid.columns-3,
.wp-block-gallery.columns-default,
.blocks-gallery-grid.columns-default {
  --gt-gallery-columns: 3;
}

.gallery-columns-4,
.wp-block-gallery.columns-4,
.blocks-gallery-grid.columns-4 {
  --gt-gallery-columns: 4;
}

.gallery-columns-5,
.wp-block-gallery.columns-5,
.blocks-gallery-grid.columns-5 {
  --gt-gallery-columns: 5;
}

.gallery-columns-6,
.wp-block-gallery.columns-6,
.blocks-gallery-grid.columns-6 {
  --gt-gallery-columns: 6;
}

.gallery-columns-7,
.wp-block-gallery.columns-7,
.blocks-gallery-grid.columns-7 {
  --gt-gallery-columns: 7;
}

.gallery-columns-8,
.wp-block-gallery.columns-8,
.blocks-gallery-grid.columns-8 {
  --gt-gallery-columns: 8;
}

.gallery-columns-9,
.wp-block-gallery.columns-9,
.blocks-gallery-grid.columns-9 {
  --gt-gallery-columns: 9;
}

.gallery > .gallery-item,
.wp-block-gallery > .wp-block-image,
.wp-block-gallery > .blocks-gallery-item,
.blocks-gallery-grid > .blocks-gallery-item {
  flex: none;
  width: auto !important;
  max-width: none !important;
  margin: 0;
  min-width: 0;
}

.gallery > br {
  display: none;
}

.gallery-caption,
.wp-block-gallery figcaption,
.blocks-gallery-caption {
  font-size: 0.8rem;
  line-height: 1.2;
  margin: 0.5rem 0;
}

.wp-block-gallery > figcaption,
.blocks-gallery-caption {
  grid-column: 1 / -1;
}

.gallery img,
.wp-block-gallery img,
.blocks-gallery-grid img {
  display: block;
  width: 100%;
  height: auto;
}

.wp-block-gallery.is-cropped img,
.wp-block-gallery.is-cropped .blocks-gallery-item img {
  height: 100%;
  object-fit: cover;
}

@media (max-width: 900px) {
  .gallery-columns-4,
  .gallery-columns-5,
  .gallery-columns-6,
  .gallery-columns-7,
  .gallery-columns-8,
  .gallery-columns-9,
  .wp-block-gallery.columns-4,
  .wp-block-gallery.columns-5,
  .wp-block-gallery.columns-6,
  .wp-block-gallery.columns-7,
  .wp-block-gallery.columns-8,
  .wp-block-gallery.columns-9,
  .blocks-gallery-grid.columns-4,
  .blocks-gallery-grid.columns-5,
  .blocks-gallery-grid.columns-6,
  .blocks-gallery-grid.columns-7,
  .blocks-gallery-grid.columns-8,
  .blocks-gallery-grid.columns-9 {
    --gt-gallery-columns: 3;
  }
}

@media (max-width: 640px) {
  .gallery-columns-3,
  .gallery-columns-4,
  .gallery-columns-5,
  .gallery-columns-6,
  .gallery-columns-7,
  .gallery-columns-8,
  .gallery-columns-9,
  .wp-block-gallery.columns-3,
  .wp-block-gallery.columns-4,
  .wp-block-gallery.columns-5,
  .wp-block-gallery.columns-6,
  .wp-block-gallery.columns-7,
  .wp-block-gallery.columns-8,
  .wp-block-gallery.columns-9,
  .blocks-gallery-grid.columns-3,
  .blocks-gallery-grid.columns-4,
  .blocks-gallery-grid.columns-5,
  .blocks-gallery-grid.columns-6,
  .blocks-gallery-grid.columns-7,
  .blocks-gallery-grid.columns-8,
  .blocks-gallery-grid.columns-9 {
    --gt-gallery-columns: 2;
  }
}

@media (max-width: 480px) {
  .gallery,
  .wp-block-gallery,
  .blocks-gallery-grid {
    --gt-gallery-columns: 1;
    grid-template-columns: 1fr;
  }
}

/* -- [05.32] WP Embed Styles -- */
.gt-responsive-embed {
  width: 100%;
  aspect-ratio: var(--gt-embed-ratio, 16 / 9);
}

.gt-responsive-embed iframe {
  display: block;
  width: 100%;
  height: 100%;
}

.gt-copyright {
    display: flex;
    justify-content: center;
    align-items: center;
    text-decoration: none;
    font-size: 0.9rem;

    @media (min-width: 992px) {
      justify-content: flex-start;
    }
}

/* ================= [06] Utilities ================= */
/* -- [06.1] Screen Reader -- */
.gt-sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;

	&:focus,
	&:focus-within {
		position: static;
		width: auto;
		height: auto;
		margin: 0;
		overflow: visible;
		clip: auto;
		clip-path: none;
		white-space: normal;
	}

	&.focusable:not(:focus):not(:focus-within) {
		position: absolute;
		width: 1px;
		height: 1px;
		margin: -1px;
		padding: 0;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
		clip-path: inset(50%);
		white-space: nowrap;
		border: 0;
	}

	&.focusable:focus,
	&.focusable:focus-within {
		position: static;
		width: auto;
		height: auto;
		margin: 0;
		overflow: visible;
		clip: auto;
		clip-path: none;
		white-space: normal;
	}
}

/* -- [06.2] Skip Links -- */
.gt-skip-links {
  position: fixed;
  top: 0px;
  left: 0px;
  z-index: 99999;
}

.gt-skip-links__list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.gt-skip-links__link {
  position: fixed;
  top: 50px;
  left: 20px;
  z-index: 999999;
  opacity: 0;
  min-width: 200px;
  padding: 1rem 1.5rem;
  background-color: #ffffff;
  color: #222222;
  border: 3px solid var(--gt-accessibility-color);
  border-radius: 50px;
  outline: var(--gt-accessibility-color) solid 0px;
  direction: ltr;
  font-size: 1rem;
  text-align: center;
  text-decoration: none;
  transition: top 0.22s ease 0s;
  pointer-events: none;
}

.gt-skip-links__link:focus {
  top: 20px;
  opacity: 1;
  pointer-events: auto;
}

/* -- [06.3] Has Global Padding -- */
.has-global-padding {
    padding-left: var(--gt-global-padding-left);
    padding-right: var(--gt-global-padding-right);
}
