@charset "utf-8";
/*
Theme Name: MD Holy Grail theme
Theme URI: 
Author: Damián Fraustro
Author URI: https://fraustro-design.com
Description: Customizable Base Theme for WordPress, developed by the MaukaDigital.com Marketing agency.
Version: 2.12.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tags: bootstrap, font-awesome, swiperJS, custom-colors, custom-fonts
Text Domain: holygrail
*/

/* == Global == */

/* = Elements = */

body {
    font-family: var(--hg-base-font), sans-serif;
    font-size: var(--hg-base-size);
    color: var(--hg-txt);
    font-weight: var(--hg-font-weight);
    line-height: 1.25;
    background: var(--hg-bg-options);

    --hg-outline-white: 1px 1px 1px white, -1px -1px 1px white,
        1px -1px 1px white, -1px 1px 1px white;
    --hg-outline-black: 1px 1px 1px black, -1px -1px 1px black,
        1px -1px 1px black, -1px 1px 1px black;
}

h1,
h2,
h3,
h4,
h5 {
    line-height: 1;
    text-align: center;
    font-weight: var(--hg-header-weight);
}

h1,
h2,
h3,
h4 {
    font-family: var(--hg-header-font), sans-serif;
    text-transform: var(--hg-header-case);
    text-wrap: balance;
}

h1 {
    margin: 1em 0;
    font-size: calc(var(--hg-header-size) * 1em);
    color: var(--hg-dark-accent);
}

h2 {
    font-size: calc(var(--hg-header-size) * 0.8em);
    color: var(--hg-secondary);
    margin-top: 0;
    margin-bottom: 3rem;
}

h3 {
    font-size: calc(var(--hg-header-size) * 0.7em);
    color: var(--hg-dark-accent);
    margin-top: 1em;
    margin-bottom: 0;
}

h3:first-child {
    margin-top: 0;
}

h4 {
    font-size: calc(var(--hg-header-size) * 0.6em);
}

h5 {
    font-size: calc(var(--hg-header-size) * 0.5em);
}

@media only screen and (max-width: 1024px) {
    h2 {
        margin-bottom: 1.5rem;
    }
}

@media only screen and (max-width: 768px) {
    h2 {
        margin-bottom: 1rem;
    }
}

p {
    margin-top: 1em;
    margin-bottom: 0;
}

p:first-child {
    margin-top: 0;
}

a {
    color: var(--hg-primary);
    text-decoration: none;
    font-weight: 700;
}

a:hover {
    color: var(--hg-secondary);
}

img {
    display: inline-block;
    max-width: 100%;
}

/* = General Styles = */

.shadow {
    box-shadow: 0 0.25rem 0.5rem var(--hg-nav-shadow) !important;
}

.shadow-block {
    box-shadow: -0.25rem 0.25rem 0.25rem var(--hg-nav-shadow) !important;
}

.separator {
    padding: 2.5rem 0;
    display: flex;
}

.separator .divider {
    border-top: 5px dotted rgb(var(--hg-bg-color-rgb) / 0.5);
    width: 10%;
    margin: 0 auto;
}

.anchor {
    /*scroll-margin-top:calc( -10px + var(--wp-admin--admin-bar--height,10px));*/
    scroll-margin-top: 20px;
    z-index: -1;
}

.inset-shadow {
    position: relative;
    box-shadow: inset 0 0.5rem 1rem rgb(var(--hg-dark-accent-rgb) / 0.4);
}

.inset-shadow::after {
    content: "";
    position: absolute;
    inset: 0;
    box-shadow: inset 0 -0.5rem 1rem rgb(var(--hg-dark-accent-rgb) / 0.4);
    z-index: -1;
}

.position-unset {
    position: unset !important;
}

/* = Text Formatting = */

.text-smaller,
.text-sm {
    font-size: 0.8em !important;
}

.text-smallest,
.text-xs {
    font-size: 0.66em !important;
}

.text-bigger,
.test-lg {
    font-size: 1.25em !important;
}

.text-biggest,
.text-xl {
    font-size: 1.5em;
}

.text-bold {
    font-weight: 700;
}

.text-italic {
    font-style: italic;
}

.text-justify {
    text-align: justify;
    text-wrap: pretty;
}

.text-balance {
    text-wrap: balance;
}

.description {
    font-size: 1.2rem;
}

.description p {
    text-align: center;
}

.disclaimer {
    font-style: italic;
    color: var(--hg-secondary);
    margin: 0 1.5em;
}

.disclaimer a:hover {
    text-decoration: underline;
}

.info h2 {
    margin-bottom: 1em;
}

.info div a {
    font-size: 1.2rem;
}

ul.dashed li::marker {
    content: "– ";
}

/* = Containers = */

.w-33 {
    width: calc(100% / 3) !important;
}

@media only screen and (min-width: 768px) {
    .w-md-33 {
        width: calc(100% / 3) !important;
    }
}

.ratio::before {
    padding-top: calc(var(--bs-aspect-ratio) - 0.5px);
}

.ratio-2x1 {
    --bs-aspect-ratio: 50%;
}

.ratio-1x2 {
    --bs-aspect-ratio: 200%;
}

.ratio-16x2 {
    --bs-aspect-ratio: calc(2 / 16 * 100%);
}

.ratio-16x3 {
    --bs-aspect-ratio: calc(3 / 16 * 100%);
}

.ratio-16x5 {
    --bs-aspect-ratio: calc(5 / 16 * 100%);
}

.ratio-8x3 {
    --bs-aspect-ratio: calc(3 / 8 * 100%);
}

.ratio-3x4 {
    --bs-aspect-ratio: calc(4 / 3 * 100%);
}

.ratio-4x1 {
    --bs-aspect-ratio: 25%;
}

.ratio-banner {
    --bs-aspect-ratio: calc(3 / 8 * 100%);
}

@media only screen and (max-width: 1024px) {
    .ratio-banner {
        --bs-aspect-ratio: calc(3 / 6 * 100%);
    }
}

@media only screen and (max-width: 768px) {
    .ratio-banner {
        --bs-aspect-ratio: calc(3 / 4 * 100%);
    }
}

.alt-block {
    background-color: rgb(var(--hg-alt-bg-rgb) / 0.5);
    padding: 1.5rem;
    box-shadow: 0 0.25rem 0.5rem rgb(0 0 0 / 0.6);
}

.light-block {
    background-color: var(--hg-light-accent);
    padding: 1.5rem;
    box-shadow: 0 0.25rem 0.5rem rgb(0 0 0 / 0.6);
}

.gradient-block {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    border: 1px solid var(--hg-secondary);
    background: rgb(var(--hg-secondary-rgb) / 0.15);
    background: linear-gradient(
        to bottom,
        rgb(255 255 255 / 0.15) 0%,
        rgb(var(--hg-secondary-rgb) / 0.15) 100%
    );
    padding: 2rem;
}

.gradient-block:hover {
    border: 1px solid rgb(var(--hg-secondary-rgb) / 0.6);
    background: rgb(var(--hg-secondary-rgb) / 0.4);
    background: linear-gradient(
        to bottom,
        rgb(255 255 255 / 0.4) 0%,
        rgb(var(--hg-secondary-rgb) / 0.4) 100%
    );
    box-shadow: 0 0.5rem 0.75rem rgb(0 0 0 / 0.33);
}

.rounded-block {
    border: 1px solid var(--hg-primary);
    border-radius: 1.5rem !important;
}

.light-block h3,
.light-block label,
.alt-block h3,
.alt-block label {
    color: var(--hg-dark-accent);
}

.gradient-block h5 {
    color: var(--hg-secondary);
}

.alt-block label {
    font-weight: 700;
}

.exclusive-content {
    position: relative;
    margin: 1rem 0;
}

.exclusive-content::before {
    content: "";
    height: 4rem;
    position: absolute;
    top: -4rem;
    left: 0;
    right: 0;
    background: -moz-linear-gradient(
        top,
        rgb(var(--hg-bg-color-rgb) / 0) 0%,
        rgb(var(--hg-bg-color-rgb) / 1) 80%
    );
    background: -webkit-linear-gradient(
        top,
        rgb(var(--hg-bg-color-rgb) / 0) 0%,
        rgb(var(--hg-bg-color-rgb) / 1) 80%
    );
    background: linear-gradient(
        to bottom,
        rgb(var(--hg-bg-color-rgb) / 0) 0%,
        rgb(var(--hg-bg-color-rgb) / 1) 80%
    );
}

.exclusive-content:after {
    content: "";
    height: 4rem;
    position: absolute;
    bottom: -4rem;
    left: 0;
    right: 0;
    background: -moz-linear-gradient(
        top,
        rgb(var(--hg-bg-color-rgb) / 1) 20%,
        rgb(var(--hg-bg-color-rgb) / 0) 100%
    );
    background: -webkit-linear-gradient(
        top,
        rgb(var(--hg-bg-color-rgb) / 1) 20%,
        rgb(var(--hg-bg-color-rgb) / 0) 100%
    );
    background: linear-gradient(
        to bottom,
        rgb(var(--hg-bg-color-rgb) / 1) 20%,
        rgb(var(--hg-bg-color-rgb) / 0) 100%
    );
}

.logos-grid img {
    margin: 0 auto;
}

@media only screen and (min-width: 1400px) {
    .container,
    .container-lg,
    .container-md,
    .container-sm,
    .container-xl,
    .container-xxl {
        max-width: var(--hg-container-width);
    }
}

/* = Color Palette = */

.text-primary {
    color: var(--hg-primary) !important;
}

.text-secondary {
    color: var(--hg-secondary) !important;
}

.text-dark,
.text-dark a {
    color: var(--hg-dark-accent) !important;
}

.text-dark a:hover {
    color: var(--hg-primary) !important;
}

.text-light {
    color: var(--hg-light-accent) !important;
}

.text-body {
    color: var(--hg-bg-color) !important;
}

.text-base {
    color: var(--hg-txt) !important;
}

.bg-primary {
    background-color: rgb(
        var(--hg-primary-rgb) / var(--bs-bg-opacity)
    ) !important;
}

.bg-primary a {
    color: var(--hg-light-accent);
}

.bg-secondary {
    background-color: rgb(
        var(--hg-secondary-rgb) / var(--bs-bg-opacity)
    ) !important;
}

.bg-dark {
    background-color: rgb(
        var(--hg-dark-accent-rgb) / var(--bs-bg-opacity)
    ) !important;
    color: var(--hg-bg-color);
}

.bg-light {
    background-color: rgb(
        var(--hg-light-accent-rgb) / var(--bs-bg-opacity)
    ) !important;
}

.bg-alt {
    background-color: rgb(
        var(--hg-alt-bg-rgb) / var(--bs-bg-opacity)
    ) !important;
}

.bg-base {
    background-color: rgb(
        var(--hg-bg-color-rgb) / var(--bs-bg-opacity)
    ) !important;
}

.bg-transparent {
    background-color: rgb(var(--hg-bg-color-rgb) / 0) !important;
}

.bg-opacity-90 {
    --bs-bg-opacity: 0.9;
}

.bg-opacity-0 {
    --bs-bg-opacity: 0;
}

.bg-blur {
    backdrop-filter: blur(0.25rem);
}

.black-screen {
    background-color: rgb(0 0 0 / 0.57) !important;
}

.blue-screen {
    background-color: rgb(2 18 45 / 0.57) !important;
}

.white-outline {
    text-shadow: var(--hg-outline-white);
}

.white-outline path {
    stroke: white;
    stroke-linecap: round;
    stroke-width: 32;
}

.black-outline {
    text-shadow: var(--hg-outline-black);
}

.black-outline path {
    stroke: black;
    stroke-linecap: round;
    stroke-width: 32;
}

.border-primary {
    border-color: var(--hg-primary) !important;
}

.border-secondary {
    border-color: var(--hg-secondary) !important;
}

.border-dark {
    border-color: var(--hg-dark-accent) !important;
}
.border-light {
    border-color: var(--hg-light-accent) !important;
}

/* == Site Structure == */

/* = Header = */

.site-header {
    height: var(--hg-menu-height);
    z-index: 99;
    pointer-events: none;
}

.site-header.sticky {
    position: sticky;
    top: var(--wp-admin--admin-bar--height, 0px);
}

.site-header.fixed {
    position: fixed;
    top: var(--wp-admin--admin-bar--height, 0px);
}

.site-header .navbar {
    pointer-events: auto;
}

.site-header a {
    font-family: var(--hg-menu-font);
}

.top-header-img .site-header .navbar {
    box-shadow: none;
}
.top-header-img .site-header .navbar.smaller {
    box-shadow: 0 0.25rem 0.5rem var(--hg-menu-shadow);
}

.top-header-img .site-header.fixed {
    position: fixed;
    top: var(--wp-admin--admin-bar--height, 0px);
}

.topbar {
    background-color: var(--hg-dark-accent);
    color: var(--hg-bg-color);
    font-size: 0.8rem;
    position: sticky;
    top: 0;
    width: 100%;
    z-index: 999;
}

.admin-bar .topbar {
    top: var(--wp-admin--admin-bar--height, 0px);
}

.topbar .container-xl {
    display: flex;
    justify-content: space-evenly;
    align-items: center;
    height: 3.5rem;
}
.topbar a {
    color: var(--hg-light-accent);
}
.topbar a:hover {
    color: var(--hg-bg-color);
    text-decoration: underline;
}

.topbar .topbar-icons a {
    display: inline-block;
}

.topbar .topbar-icons .icon {
    height: 2rem !important;
    width: auto;
}

@media only screen and (min-width: 768px) {
    .topbar .topbar-icons .icon {
        height: 1.5rem !important;
    }
}

.site-header .navbar {
    flex-direction: column;
    padding: 0.75rem 0.25rem;
    transition: all 1s;
    box-shadow: 0 0.25rem 0.5rem var(--hg-nav-shadow);
}

.site-header .navbar.body-color {
    background-color: var(--hg-bg-color);
}

.site-header .navbar.light-color {
    background-color: var(--hg-light-accent);
}
.site-header .navbar.dark-color {
    background-color: var(--hg-dark-accent);
    color: var(--hg-bg-color);
}
.site-header .navbar.text-color {
    background-color: var(--hg-txt);
    color: var(--hg-bg-color);
}

.site-header .navbar .main-menu {
    font-size: var(--hg-menu-size);
    font-weight: var(--hg-menu-weight);
    position: relative;
}

.site-header #navbar-container {
    position: relative;
    z-index: 99;
}

.site-header .navbar-brand {
    display: flex;
    transition: all 1s;
}

.site-header .vertical .navbar-brand {
    max-width: 24rem;
    flex-direction: column;
    isolation: isolate;
}

.site-header .smaller .vertical .navbar-brand {
    max-width: 14rem;
}

.site-header .navbar-brand img {
    width: auto;
    height: auto;
    max-height: 6rem;
    max-width: none;
    transition: all 1s;
    object-fit: contain;
    object-position: left;
}

.site-header.tagged .navbar-brand img {
    max-width: 180px;
}

.site-header .smaller .navbar-brand img {
    max-height: 3rem;
    transition: all 1s;
}

.site-header.tagged .smaller .navbar-brand img {
    max-width: 120px;
}

.site-header .navbar.top-of-page .after-scroll img {
    max-height: 3rem;
    opacity: 0;
}
.site-header .navbar.smaller .after-scroll img {
    opacity: 1;
}

.site-header .navbar.top-of-page .before-scroll img {
    opacity: 1;
}
.site-header .navbar.smaller .before-scroll {
    margin-right: 0;
}
.site-header .navbar.smaller .before-scroll img {
    max-width: 1px;
    margin: 0;
    opacity: 0;
}

.site-header .site-title a {
    font-family: var(--hg-tagline-font);
}

.site-header .navbar-brand .site-title {
    font-size: calc(var(--hg-header-size) * 0.5em);
    line-height: 1.25;
    text-transform: var(--hg-header-case);
    transition: all 1s;
}

.site-header .smaller .navbar-brand .site-title {
    font-size: calc(var(--hg-header-size) * 0.4em);
}

@media only screen and (max-width: 520px) {
    .site-header .navbar-brand .site-title {
        font-size: calc(var(--hg-header-size) * 0.35em);
    }
}

.site-header .navbar-brand .site-title a {
    color: var(--hg-menu-hover);
    display: block;
    text-align: left;
    white-space: normal;
    text-wrap: balance;
}

.site-header .navbar-brand .site-description {
    font-size: 1.25rem;
    color: var(--hg-menu-color);
    transition: all 1s;
}

.site-header .smaller .navbar-brand .site-description {
    font-size: 1rem;
}

@media only screen and (max-width: 768px) {
    .site-header .navbar-brand .site-description {
        font-size: 1rem;
    }
}

.site-header .wide-tagline {
    display: flex;
    flex-direction: column;
    text-align: center;
}

.site-header .wide-tagline .site-title,
.site-header .wide-tagline .site-description {
    display: grid;
    grid-template-rows: 1fr;
    transition: grid-template-rows 500ms ease-in;
}

.site-header .smaller .wide-tagline .site-title,
.site-header .smaller .wide-tagline .site-description {
    grid-template-rows: 0fr;
}

.site-header .wide-tagline .site-title a,
.site-header .wide-tagline .site-description span {
    overflow: hidden;
}

.site-header .wide-tagline .site-title a {
    padding-top: 1rem;
    transition: padding 500ms ease-in;
}

.site-header .smaller .wide-tagline .site-title a {
    padding-top: 0;
}

.site-header .wide-tagline .site-title {
    margin: 0;

    font-size: calc(var(--hg-header-size) * 1.5em);
}

.site-header .wide-tagline .site-title a {
    color: var(--hg-secondary);
    font-weight: var(--hg-header-weight);
}

.site-header .wide-tagline .site-title a:hover,
.site-header .wide-tagline .site-description {
    color: var(--hg-primary);
}

.site-header .wide-tagline .site-description {
    font-weight: 400;
    font-size: 1.25em;
}

.site-header .navbar-nav {
    justify-content: flex-end;
    flex-wrap: wrap;
}

.site-header .nav-item {
    display: flex;
    position: relative;
    justify-content: flex-end;
}

.site-header .nav-item a {
    padding: 0.5rem;
    color: var(--hg-menu-color);
    text-decoration: none;
    text-transform: var(--hg-menu-case);
    line-height: 1;
}

.site-header .nav-item a:hover,
.site-header .current-menu-item > a {
    color: var(--hg-menu-hover);
}

.site-header .navbar.dark-color .current-menu-item > a,
.site-header .navbar.text-color .current-menu-item > a {
    color: var(--hg-light-accent) !important;
}

.site-header .dropdown-menu {
    position: static;
}

@media (min-width: 992px) {
    .site-header .dropdown-menu {
        position: absolute;
        width: max-content;
        padding: 0.5rem;
        margin: 0;
        top: 2.5rem;
        right: 0;
        left: auto;
    }
}

.site-header .dropdown-menu .nav-item:hover {
    background-color: var(--hg-menu-hover);
}

.site-header .dropdown-menu .nav-item:hover a {
    color: var(--hg-menu-bg) !important;
}

.site-header .dropdown-toggle::after {
    margin-left: 0.25em;
    position: relative;
    content: "\f0dd";
    font-family: "FontAwesome";
    border: none;
}

@media only screen and (min-width: 992px) {
    .site-header .dropdown-toggle::after {
        top: -0.2em;
    }
}

.site-header .dropdown-menu li {
    display: block;
    text-align: right;
}

.site-header .dropdown-menu .current-menu-item > a {
    color: var(--hg-dark-accent) !important;
}

.login-dropdown .dropdown-menu {
    min-width: 15rem;
}

.svg-inline--fa.fa-circle-user {
    vertical-align: 0;
}

.fadeIn {
    animation: fadeIn 1s;
    opacity: 1 !important;
}

.site-header .navbar.dark-color .navbar-brand .site-title a,
.site-header .navbar.dark-color .navbar-toggler,
.site-header .navbar.dark-color a,
.site-header .navbar.text-color .navbar-brand .site-title a,
.site-header .navbar.text-color .navbar-toggler,
.site-header .navbar.text-color a {
    color: var(--hg-bg-color);
}

.navbar.dark-color .dropdown,
.navbar.text-color .dropdown {
    text-shadow: none;
}

.site-header .navbar.dark-color .navbar-brand .site-title a:hover,
.navbar.dark-color a:hover,
.site-header .navbar.text-color .navbar-brand .site-title a:hover,
.navbar.text-color a:hover {
    color: var(--hg-light-accent);
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

.fadeOut {
    animation: fadeOut 1s;
    opacity: 0;
}

@keyframes fadeOut {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
    }
}

@media only screen and (max-width: 1024px) {
    .site-header {
        padding: 0;
    }

    .site-header .navbar-brand img {
        height: 4.5rem;
    }

    .site-header .navbar-brand .smaller img {
        height: 3rem;
    }
}

@media only screen and (max-width: 992px) {
    .navbar-nav {
        display: block;
        margin-top: 0.75rem;
    }

    .site-header .nav-item {
        display: block;
        padding: 0;
        text-align: right;
    }

    .site-header .nav-item a {
        display: block;
    }

    .login-dropdown .dropdown-menu {
        position: relative;
    }
}

@media only screen and (max-width: 782px) {
    .admin-bar .site-header.fixed {
        top: 46px;
    }

    .site-header {
        min-height: 4rem;
    }

    .site-header .site-branding img {
        height: 3rem;
    }

    .site-header .navbar-brand {
        max-width: 75%;
    }

    .site-header .navbar-brand img {
        width: 100%;
        height: auto;
    }
}

.site-header .nav-item .shopping-cart-icon {
    position: relative;
    color: var(--hg-menu-color);
    padding-right: 1rem;
}

.site-header .nav-item .shopping-cart-icon .total-products {
    position: absolute;
    right: 0.5rem;
    top: 0;
    width: 1.5em;
    height: 1.5em;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 0.5em;
    line-height: 1.5em;
    border-radius: 100vmax;
    background-color: var(--hg-menu-hover) !important;
    color: var(--hg-menu-bg) !important;
    box-shadow: 0 1px 0.25rem var(--hg-nav-shadow);
}

@media only screen and (max-width: 600px) {
    #wpadminbar {
        position: fixed;
    }
}

/* = Main = */

.site-content,
.shop-content {
    position: relative;
    min-height: calc(
        100svh - var(--hg-menu-height) - var(--wp-admin--admin-bar--height, 0px)
    );
    transition: padding 1s;
}

main * + ul {
    margin-top: 1em;
}

/* = Sidebar & Widgets = */

.sidebar-wrapper {
    position: sticky;
    top: var(--hg-menu-height);
}

.admin-bar .sidebar-wrapper {
    top: calc(var(--hg-menu-height) + 2rem);
}

.widget ul ul {
    list-style: disc;
    margin-bottom: 0.5rem;
}

.widget .wp-calendar-table {
    width: 100%;
}

.widget .wp-calendar-table th,
.widget .wp-calendar-table td {
    text-align: center;
}

.widget .wp-calendar-table td a {
    background-color: var(--hg-primary);
    color: var(--hg-bg-color);
    padding: 0.25rem 0.5rem;
    border-radius: 1rem;
}

.widget .wp-calendar-table td a:hover {
    background-color: var(--hg-secondary);
}

.widget-logo img {
    max-height: 50%;
    height: 144px;
    width: auto;
}

/* = Footer = */

.site-footer {
    text-align: left;
    box-shadow: 0 -0.25rem 0.5rem var(--hg-nav-shadow);
}

.site-footer,
.site-footer h3,
.site-footer h4 {
    color: var(--hg-bg-color);
}

.site-footer h3,
.site-footer h4 {
    text-align: inherit;
}
.site-footer h3 {
    margin-bottom: 0.5rem;
}
.site-footer h4 {
    margin-top: 1rem;
}

.site-footer p:not(:last-of-type) {
    margin-bottom: 0.5rem !important;
}
.site-footer p:last-of-type {
    margin-bottom: 0 !important;
}

.site-footer a {
    color: var(--hg-light-accent);
    text-decoration: none;
    font-weight: normal;
}
.site-footer.bg-transparent a {
    color: var(--hg-primary);
}

.site-footer.bg-transparent {
    color: var(--hg-text) !important;
    box-shadow: none;
}

.site-footer.bg-light,
.site-footer.bg-transparent h3,
.site-footer.bg-transparent h4 {
    color: var(--hg-txt) !important;
}

.site-footer .current-menu-item a,
.site-footer a:hover {
    color: var(--hg-bg-color);
}

.site-footer a:hover {
    text-decoration: underline;
    font-weight: normal;
}

.site-footer.bg-transparent .current-menu-item a,
.site-footer.bg-transparent a:hover {
    color: var(--hg-secondary);
}

.site-footer.bg-light a {
    color: var(--hg-primary);
}

.site-footer.bg-light .current-menu-item a,
.site-footer.bg-light a:hover {
    color: var(--hg-dark-accent);
}

.site-footer ul {
    padding: 0;
    margin: 0;
}

.site-footer li {
    list-style: none;
    padding: 0.25rem 0 0;
}

.site-footer .menu-item {
    text-transform: var(--hg-menu-case);
}

.site-footer .newsletter .form-control {
    border-radius: 0.5rem;
    text-align: center;
}

.site-footer.bg-dark .newsletter .form-control {
    border: 1px solid var(--hg-light-accent);
    color: var(--hg-bg-color);
    background-color: rgb(var(--hg-bg-color-rgb) / 0.1);
    max-width: 18rem;
    margin: 0 auto;
}

.site-footer.bg-dark .newsletter .form-control:focus {
    background-color: rgb(var(--hg-bg-color-rgb) / 0.2);
}

.site-footer.bg-dark .newsletter .form-control::placeholder {
    color: var(--hg-light-accent);
}

.site-footer .social-icons {
    font-size: 2.5rem;
}

.site-footer .copyright {
    text-align: center;
    font-size: 0.9em;
    padding-right: 3.5rem;
}

@media only screen and (max-width: 576px) {
    .site-footer > div > div {
        /*padding-right:3.5rem;*/
    }
}

/* == User Interface == */

/* = Buttons = */

.btn {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    font-weight: 700;
    border-radius: 0.25rem;
    padding: 0.5rem 1.25rem;
    font-size: 1em;
    border-width: 2px;
}

.btn:hover {
    background-color: rgb(var(--hg-bg-color-rgb) / 0.66);
}

.btn-square {
    border-radius: 0;
}

.btn-pill {
    border-radius: 100vmax;
}

.btn-sm {
    padding: 0.25rem 0.5rem;
}

.btn-cta {
    color: var(--hg-bg-color);
    height: 58px;
    border-radius: 29px;
    border: 2px solid currentColor;
    padding: 0 2rem;
}

.btn-cta:hover {
    color: var(--hg-bg-color);
    background-color: rgb(var(--hg-dark-accent-rgb) / 0.8);
    border: none;
}

.btn-primary {
    background-color: var(--hg-primary);
    border-color: var(--hg-primary);
    color: var(--hg-bg-color);
}
.btn-primary:active,
.btn-primary:focus {
    background-color: var(--hg-secondary);
    border-color: var(--hg-secondary);
}
.btn-primary:hover {
    border-color: var(--hg-primary);
    color: var(--hg-primary);
}

.btn-secondary {
    background-color: var(--hg-secondary);
    border-color: var(--hg-secondary);
    color: var(--hg-bg-color);
}
.btn-secondary:active,
.btn-secondary:focus {
    background-color: var(--hg-primary);
    border-color: var(--hg-primary);
}
.btn-secondary:hover {
    border-color: var(--hg-secondary);
    color: var(--hg-secondary);
}

.btn-dark {
    background-color: var(--hg-dark-accent);
    border-color: var(--hg-dark-accent);
    color: var(--hg-bg-color);
}
.btn-dark:active,
.btn-dark:focus {
    background-color: var(--hg-primary);
    border-color: var(--hg-primary);
}
.btn-dark:hover {
    border-color: var(--hg-dark-accent);
    color: var(--hg-dark-accent);
}

.btn-light {
    background-color: var(--hg-light-accent);
    border-color: var(--hg-light-accent);
    color: var(--hg-dark-accent);
}
.btn-light:active,
.btn-light:focus {
    background-color: var(--hg-alt-bg);
    border-color: var(--hg-alt-bg);
}
.btn-light:hover {
    border-color: var(--hg-light-accent);
    color: var(--hg-dark-accent);
}

.btn-grad {
    display: inline-flex;
    text-align: center;
    position: relative;
    justify-content: center;
    align-items: center;
    font-weight: 900;
    border-radius: calc(0.75rem + 1px);
    z-index: 9;
    border: none;
}
.btn-grad::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 0.75rem;
    border: 3px solid transparent;
    background: linear-gradient(
            180deg,
            var(--hg-secondary),
            var(--hg-light-accent)
        )
        border-box;
    -webkit-mask: linear-gradient(var(--hg-bg-color) 0 0) padding-box,
        linear-gradient(var(--hg-bg-color) 0 0);
    -webkit-mask-composite: destination-out;
}
.btn-grad:hover::before {
    background: linear-gradient(
            0deg,
            var(--hg-secondary),
            var(--hg-light-accent)
        )
        border-box;
    -webkit-mask: linear-gradient(var(--hg-bg-color) 0 0) padding-box,
        linear-gradient(var(--hg-bg-color) 0 0);
    -webkit-mask-composite: destination-out;
}

.btn-grad.btn-sm::before {
    border-radius: 0.5rem;
}

.btn-lg {
    padding: 0.75rem 1.75rem;
    font-size: 1.25em;
}

.no-btn {
    border: none;
    background: transparent;
}

.know-more-hide[aria-expanded="true"] {
    display: none;
}

.navbar-toggler {
    font-size: 2rem;
    padding: 7px 9px;
}

.scrollToTop {
    position: fixed;
    right: 1.5rem;
    bottom: 0.875rem;
    text-align: center;
    font-size: 3.5rem;
    z-index: 99;
    animation-fill-mode: forwards !important;
}

.scrollToTop.fadeInAnimate {
    animation: fadeIn 2s;
}

.scrollToTop.fadeOutAnimate {
    animation: fadeOut 2s;
}

.scrollToTop svg {
    filter: drop-shadow(0px 0px 2px var(--hg-dark-accent));
}

.scrollToTop:hover {
    color: var(--hg-light-accent);
}

.tip {
    cursor: help !important;
}

@media only screen and (max-width: 1024px) {
    .btn-lg {
        padding: 0.5rem 1.25rem;
    }
}

@media only screen and (max-width: 768px) {
    .btn-lg {
        padding: 0.25rem 0.75rem;
        font-size: 1em;
    }

    .scrollToTop {
        right: 1rem;
        bottom: calc(1rem - 5px);
        font-size: 2.5rem;
    }
}

/* = Forms = */

.form-control,
.form-select {
    font-size: 1em;
    padding: 0.75rem 1.25rem;
    background-color: rgb(var(--hg-alt-bg-rgb) / 0.25);
    color: var(--hg-dark-accent);
    border: 1px solid transparent;
    box-sizing: border-box;
    margin-bottom: 1rem;
}

.form-control-sm,
.form-select-sm {
    padding: 0.25rem 0.5rem;
    margin-bottom: 1rem;
}

.form-label {
    margin-bottom: 0;
}

.dropdown-menu .form-control {
    margin-bottom: 0;
}

.form-control:hover {
    border: 1px solid var(--hg-primary);
}

.form-control:focus,
.form-select:focus {
    background-color: rgb(var(--hg-alt-bg-rgb) / 0.5);
    border: 1px solid var(--hg-primary);
    outline: transparent;
    box-shadow: none;
}

.form-control::placeholder {
    color: rgb(50 50 50 / 0.5);
}

.input-group .form-control {
    border: none;
    margin-bottom: 0;
}

.input-group .input-group-text {
    background-color: var(--hg-secondary);
    border-color: var(--hg-secondary);
    color: var(--hg-bg-color);
}

.form-floating > label {
    padding: 1rem 1.5rem;
}

.form-label.required:after {
    content: " *";
    color: red;
}

.wpcf7-form-control-wrap {
    border-radius: 0.5rem;
    display: block;
}

.wpcf7-list-item {
    display: block;
    margin-bottom: 0.5rem;
}

.inline-radio .wpcf7-list-item {
    display: inline-block;
}

.wpcf7-list-item-label {
    font-weight: 400;
}

.wpcf7-not-valid-tip {
    margin: 0.5rem 0 0 0.5rem;
    font-style: italic;
    font-weight: 700;
}

.wpcf7 form .wpcf7-response-output {
    margin: 1rem 0 0;
    font-weight: 700;
    text-align: center;
    text-wrap: balance;
    color: black;
}

.wpcf7 form.sent .wpcf7-response-output {
    background-color: palegreen;
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
    background-color: lemonchiffon;
}

.wpcf7 form.failed .wpcf7-response-output {
    background-color: salmon;
}

.form-check-input:checked {
    background-color: var(--hg-primary);
    border-color: var(--hg-primary);
}

.form-optin .wpcf7-list-item {
    margin-bottom: 0;
}

.form-optin .wpcf7-list-item label {
    display: flex;
    align-items: center;
}

.form-optin input {
    margin-right: 0.5rem;
    height: 1.25rem;
    width: 1.25rem;
}

.grecaptcha-badge {
    display: none !important;
}

.privacy-disclaimer {
    opacity: 0.5;
    cursor: help;
    text-wrap: balance;
}

.privacy-disclaimer:hover {
    opacity: 1;
}

/* = Icons = */

.icon-lg {
    font-size: 40px;
}

.icon-md {
    font-size: 1.5rem;
}

.social-icons a {
    text-decoration: none !important;
}

.social-icons .icon {
    height: 1em;
    width: auto;
}

.social-icons a:hover .icon {
    color: var(--hg-secondary);
}

.social-icons a:hover .fa-square-facebook,
.social-icons a:hover .fa-facebook-f {
    color: #1877f2;
}

.social-icons a:hover .fa-linkedin,
.social-icons a:hover .fa-linkedin-in {
    color: #0a66c2;
}

.social-icons a:hover .fa-square-youtube,
.social-icons a:hover .fa-youtube {
    color: #f00;
}

.social-icons a:hover .fa-square-instagram,
.social-icons a:hover .fa-instagram {
    color: #c32aa3;
}

.social-icons a:hover .fa-tiktok {
    color: #010101;
}

.social-icons a:hover .fa-square-twitter {
    color: #1da1f2;
}

.social-icons.round-icons {
    font-size: 2rem;
}

.social-icons.round-icons a {
    justify-content: center;
    align-items: center;
    border-radius: 100vmax;
    width: 2.5rem;
    height: 2.5rem;
}

.bg-primary .social-icons.round-icons a {
    color: var(--hg-primary);
    background-color: var(--hg-bg-color);
}
.bg-dark .social-icons.round-icons a {
    color: var(--hg-dark-accent);
    background-color: var(--hg-light-accent);
}

.social-logos {
    gap: 1.5rem;
}

.fb-social-icon {
    font-size: 3em;
    color: #1877f2;
}

@media only screen and (max-width: 768px) {
    .icon-lg {
        font-size: 24px;
    }
}

/* = Images = */

figure {
    margin: 0;
}

.hero {
    position: relative;
    box-sizing: border-box;
    width: 100%;
}

.hero-4x3:before,
.hero-16x9:before {
    display: block;
    content: "";
}

.hero-16x9:before {
    padding-top: 56.25%;
}

.hero-4x3:before {
    padding-top: 75%;
}

.hero figcaption {
    font-size: 1.5em;
    position: absolute;
    top: auto;
    bottom: 2rem;
    left: 2rem;
    width: auto;
    max-height: 3em;
    display: flex;
    justify-content: center;
    flex-direction: column;
    text-align: left;
}

.hero figcaption a {
    color: var(--hg-bg-color);
    text-shadow: -1px -1px 1px var(--hg-dark-accent),
        1px -1px 1px var(--hg-dark-accent), -1px 1px 1px var(--hg-dark-accent),
        1px 1px 1px var(--hg-dark-accent);
}

.hero figcaption a:hover {
    color: var(--hg-light-accent);
}

.hero-banner {
    position: relative;
    margin-bottom: 4rem !important;
    box-shadow: 0 1rem 2rem rgb(0 0 0 / 0.6);
}

.hero-banner .featured-caption {
    line-height: 1rem;
    position: absolute;
    bottom: -2rem;
    left: 0;
    right: 0;
    font-weight: 700;
    font-style: italic;
    text-align: right;
}

.hero-banner img {
    width: 100%;
    height: auto;
}

.billboard {
    margin: 6rem 0 3rem;
    height: auto;
}

.img-grid h3 {
    text-align: left;
    color: var(--hg-primary);
    margin-bottom: 0.5rem;
}

.img-grid figure {
    width: 33%;
    position: relative;
    z-index: 9;
}

.img-grid p {
    text-align: justify;
}

@media only screen and (max-width: 1024px) {
    .billboard {
        margin: 4rem 0 2rem;
    }
}

@media only screen and (max-width: 768px) {
    .billboard {
        margin: 2rem 0 1rem;
    }

    .hero-header h1 {
        padding-top: 5rem;
    }

    .img-grid figure {
        width: 50%;
    }
}

/* = Animation = */

@media (prefers-reduced-motion: no-preference) {
    .hero img {
        width: 100%;
        height: auto;
        box-shadow: 0 1rem 2rem rgb(0 0 0 / 0.6);
        position: absolute;
        left: 0;
        top: 0;
        animation: shrink 0.5s;
    }

    .hero-4x3 img:hover,
    .hero-16x9 img:hover {
        width: calc(100% + 2rem);
        height: calc(100% + 2rem);
        inset: -1rem;
        animation: grow 0.5s;
    }

    @keyframes shrink {
        from {
            inset: -1rem;
            width: calc(100% + 2rem);
            height: calc(100% + 2rem);
        }
        to {
            inset: 0;
            width: 100%;
            height: 100%;
        }
    }

    @keyframes grow {
        from {
            inset: 0;
            width: 100%;
            height: 100%;
        }
        to {
            inset: -1rem;
            width: calc(100% + 2rem);
            height: calc(100% + 2rem);
        }
    }
}

/* = Breadcrumbs = */

.breadcrumbs ul {
    list-style: none;
    display: inline-flex;
    margin: 0;
    padding: 0;
}

.breadcrumbs .separator {
    margin: 0 0.5rem;
    padding: 0;
    display: inline-flex;
    align-items: center;
}

.page-header:has(.page-gradient, .page-parallax-hero) .breadcrumbs,
.page-header:has(.page-gradient, .page-parallax-hero) .breadcrumbs a,
.page-header:has(.page-gradient, .page-parallax-hero) .breadcrumbs .separator {
    font-weight: normal;
    color: var(--hg-bg-color);
}

.page-header .breadcrumbs a:hover {
    color: var(--hg-light-accent);
}

/* = Pagination = */

.pagination .page-link {
    color: var(--hg-primary);
    background-color: var(--hg-bg-color);
    border-color: rgb(var(--hg-primary-rgb) / 0.25);
}

.pagination .page-link:hover {
    background-color: var(--hg-primary);
    color: var(--hg-bg-color);
    border-color: var(--hg-primary);
}

.pagination .page-item.active .page-link {
    background-color: var(--hg-secondary);
    color: var(--hg-bg-color);
    border-color: rgb(var(--hg-primary-rgb) / 0.25);
    cursor: default;
}

/* = Counters = */

.alpha-list,
.bullet-list {
    padding-left: 2rem;
    list-style: none;
}

.alpha-list {
    counter-reset: alpha-counter;
}

.alpha-list h3,
.bullet-list h3 {
    position: relative;
    text-align: left;
    color: var(--hg-primary);
    margin-bottom: 0.5rem;
}

.alpha-list h3::before {
    position: absolute;
    left: -2rem;
    width: 2rem;
    text-transform: lowercase;
    counter-increment: alpha-counter;
    content: counter(alpha-counter, lower-alpha) ") ";
}

.bullet-list h3::before {
    position: absolute;
    left: -1.5rem;
    width: 2rem;
    font-size: 1.5em;
    line-height: 0.8;
    content: "•";
}

/* = Accordions = */

.accordion-button {
    color: var(--hg-primary);
}

.accordion-button::after {
    font-family: "FontAwesome";
    content: "\f078";
    background-image: none;
    height: auto;
    width: auto;
}

.accordion-button:not(.collapsed) {
    color: var(--hg-dark-accent);
    background-color: var(--hg-light-accent);
}

.accordion-button:not(.collapsed)::after {
    content: "\f078";
    background-image: none;
}

.accordion-button:focus {
    box-shadow: 0 0 0 1px var(--hg-primary);
}

/* == Content == */

/* = Homepage = */

#home-header {
    position: relative;
}

#home-header:has(.page-parallax-hero, .page-image-hero) {
    height: calc(
        100vh -
            (var(--hg-menu-height) + var(--wp-admin--admin-bar--height, 0px))
    );
    background-color: rgb(0 0 0 / 0.4);
}

.home-header-image .image-page-hero {
    position: relative;
    background: black;
}

.home-header-image .bg-img {
    position: absolute;
    inset: 0;
    opacity: 0.5;
    height: 100%;
    width: 100%;
    content-fit: cover;
}

.home-header-image .hero-data {
    position: relative;
    z-index: 1;
}

/* = Pages = */

.page-parallax-hero {
    background-color: rgb(0 0 0 / 0.4);
    padding: 10rem 0;
}

.top-header-img .page-parallax-hero {
    padding: 0;
}

.page-gradient {
    background: -moz-linear-gradient(
        top,
        var(--hg-secondary) 0%,
        var(--hg-dark-accent) 100%
    );
    background: -webkit-linear-gradient(
        top,
        var(--hg-secondary) 0%,
        var(--hg-dark-accent) 100%
    );
    background: linear-gradient(
        to bottom,
        var(--hg-secondary) 0%,
        var(--hg-dark-accent) 100%
    );
    width: 100%;
    height: 100%;
    padding: 6rem 0;
}

.page-banner {
    background-position: center;
    background-size: cover;
}

.page-banner .entry-title,
.page-parallax-hero .entry-title,
.page-gradient .entry-title {
    line-height: 1;
    color: var(--hg-bg-color);
    text-shadow: var(--hg-outline-black);
}

.page-parallax-hero .entry-title,
.page-gradient .entry-title {
    z-index: 2;
    margin: 0;
}

.hero-data {
    color: var(--hg-bg-color);
    text-shadow: var(--hg-outline-black);
}

.hero-data .svg-inline--fa path {
    stroke: black;
    stroke-linecap: round;
    stroke-width: 32px;
}

.type-page .entry-header .description {
    margin-bottom: 3rem;
}

@media only screen and (max-width: 1080px) {
    .type-page .entry-header .description {
        margin-bottom: 2rem;
    }

    .page-parallax-hero {
        padding: 7rem 0;
    }

    .page-hero {
        padding: 7rem 0;
    }

    .page-hero h2 {
        font-size: 2.5em;
        bottom: 2rem;
        padding-right: 0.75rem;
    }

    .page-header .featured-caption {
        bottom: 0.5rem;
    }
}

@media only screen and (max-width: 768px) {
    .type-page .entry-header .description {
        margin-bottom: 1.5rem;
    }

    .parallax-page-hero {
        padding: 4rem 0;
    }

    .page-hero {
        padding: 4rem 0;
    }

    .page-hero h2 {
        font-size: 2em;
        bottom: 1rem;
    }

    .page-header .featured-caption {
        bottom: 0.25rem;
        font-size: 0.8em;
    }
}

/* = Blog = */

.blog .hentry,
.archive .hentry,
.search .hentry {
    padding: 0;
}

.type-post.card .card-img-top,
.type-page.card .card-img-top {
    background: rgb(var(--hg-primary-rgb) / 0.4);
    background: -webkit-linear-gradient(
        top,
        rgb(var(--hg-dark-accent-rgb) / 1) 0%,
        rgb(var(--hg-primary-rgb) / 0.6) 100%
    );
    background: -o-linear-gradient(
        top,
        rgb(var(--hg-dark-accent-rgb) / 1) 0%,
        rgb(var(--hg-primary-rgb) / 0.6) 100%
    );
    background: linear-gradient(
        to bottom,
        rgb(var(--hg-dark-accent-rgb) / 1) 0%,
        rgb(var(--hg-primary-rgb) / 0.6) 100%
    );
}

.type-post.card .card-img-top .post-type,
.type-page.card .card-img-top .post-type {
    position: absolute;
    top: 1rem;
    left: 1rem;
    width: auto;
    height: auto;
    z-index: 9;
    text-transform: var(--hg-header-case);
    font-weight: 700;
    font-size: 1.25em;
    color: var(--hg-bg-color);
    text-shadow: -1px -1px 1px var(--hg-dark-accent),
        1px -1px 1px var(--hg-dark-accent), -1px 1px 1px var(--hg-dark-accent),
        1px 1px 1px var(--hg-dark-accent);
}

.type-post.card .card-img-top .post-type svg path,
.type-page.card .card-img-top .post-type svg path {
    stroke: var(--hg-dark-accent);
    stroke-width: 4%;
}

.type-post.card .card-title,
.type-page.card .card-title {
    margin-top: -5rem;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    min-height: 5rem;
    box-shadow: 0 -5px 5px rgb(0 0 0 / 0.5);
}

.type-post.card .card-title .entry-title {
    margin: 0;
    font-size: 1.3em;
}

.type-post.card .card-title .entry-subtitle {
    margin-top: 1rem;
    font-size: 1.15em;
}

.type-page.card .card-body {
    background: var(--hg-bg-color);
    background: -webkit-linear-gradient(
        var(--hg-bg-color) 30%,
        var(--hg-light-accent) 100%
    );
    background: -o-linear-gradient(
        var(--hg-bg-color) 30%,
        var(--hg-light-accent) 100%
    );
    background: linear-gradient(
        var(--hg-bg-color) 30%,
        var(--hg-light-accent) 100%
    );
}

.card .meta {
    margin: 1rem 0 0;
    border-left: 0.25rem solid var(--hg-light-accent);
    padding-left: 0.5rem;
}

.post-article .meta {
    text-align: right;
    margin: 0 1.5rem;
    border-right: 0.25rem solid var(--hg-light-accent);
    padding-right: 0.75rem;
}

.card .meta p {
    text-align: left;
    display: flex;
    margin-bottom: 0.5rem;
}

.card .meta p .icon {
    width: 1.5rem;
    margin-right: 0.5rem;
}

.post-article .entry-title {
    margin: 3rem 0;
}

.post-article h5 {
    text-align: left;
    color: var(--hg-primary);
}

.post-article li::marker {
    font-size: 1.25em;
    font-weight: 700;
    color: var(--hg-primary);
}

.post-article li ul {
    list-style: disc;
}

.testimonial .star-rating .solid {
    color: var(--hg-secondary);
}

.testimonial .star-rating .outline {
    color: rgb(var(--hg-secondary-rgb) / 0.5);
}

.testimonial .star-rating .bg {
    color: var(--hg-bg-color);
}

.testimonial .card-title {
    color: var(--hg-dark-accent);
}

.testimonial .card-subtitle {
    color: rgb(var(--hg-dark-accent-rgb) / 0.5);
}

/* = Subscribers page = */

#index-slider img {
    -webkit-box-reflect: below 0 -webkit-linear-gradient(bottom, rgb(
                    255 0 0 / 0.25
                )
                0%, transparent 4.5rem, transparent 100%);
}

#index-slider h4 {
    position: relative;
    margin: 1.5rem 0 3rem;
}

@media only screen and (max-width: 768px) {
    #index-slider h4 {
        font-size: 1.25em;
    }
}

#subscribers-content h1 {
    margin: 2rem 0 4rem;
}

#subscribers-content h2 {
    margin-bottom: 5rem;
}

#subscribers-content h3 {
    padding-top: 6rem;
    margin: 0 0 2rem;
}

.exclusive-content-btn {
    display: none;
    position: fixed;
    right: -10.5rem;
    top: calc(50% - 20px);
    background: var(--hg-primary);
    color: var(--hg-bg-color);
    padding: 0.5rem 0.75rem;
    line-height: 2rem;
    box-shadow: 0px 0px 2px var(--hg-dark-accent);
    border-radius: 0.5rem 0 0 0.5rem;
    z-index: 99;
    transition: right 0.3s ease-in-out;
    -webkit-transition: right 0.3s ease-in-out;
}

.exclusive-content-btn:hover {
    background: var(--hg-light-accent);
    right: 0;
    color: var(--hg-primary);
}
