/*
Theme Name: AACE
Theme URI: 
Author: 
Author URI: 
Description: 
Requires at least: 6.8
Tested up to: 6.8
Requires PHP: 7.3
Version: 1.0
License: GNU General Public License v3 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: aace
Tags: blog, portfolio, entertainment, grid-layout, one-column, two-columns, three-columns, four-columns, block-patterns, block-styles, custom-logo, custom-menu, editor-style, featured-images, full-site-editing, full-width-template, rtl-language-support, style-variations, template-editing, theme-options, translation-ready, wide-blocks

AACE WordPress Theme, (C) 2025 Mike McAlister.
AACE is distributed under the terms of the GNU GPL.
*/

/* CSS Reset
---------------------------------------------------------------------------- */

*,
*::before,
*::after {
    box-sizing: inherit;
}

html {
    box-sizing: border-box;
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
}

b,
strong {
    font-weight: var(--wp--custom--font-weight--bold);
}

ol,
ul {
    padding: 0;
}

ol:where(:not([class*="wp-block"])),
ol:where(.wp-block-list),
ul:where(:not([class*="wp-block"])),
ul:where(.wp-block-list) {
    padding-inline-start: var(--wp--preset--spacing--medium);
}

div[class*="wp-block-"] figcaption {
    color: var(--wp--preset--color--secondary);
    font-size: var(--wp--preset--font-size--x-small);
    margin-bottom: 0;
    margin-top: 20px;
    text-align: center;
}

img,
figure {
    max-width: 100%;
    height: auto;
}

/* Temporary fix for text-decoration-thickness in Firefox */
@-moz-document url-prefix() {
    a {
        text-decoration-thickness: .1rem !important;
    }
}

/* Standardize form styling
--------------------------------------------- */

input,
button,
textarea,
select {
    font: inherit;
}

input[type="button"],
input[type="email"],
input[type="search"],
input[type="submit"],
input[type="text"],
textarea {
    -webkit-appearance: none;
    appearance: none;
}

input:not([type="submit"]),
select,
textarea,
.wp-block-post-comments-form input:not([type="submit"]):not([type="checkbox"]),
.wp-block-post-comments-form textarea {
    color: var(--wp--preset--color--black);
    border-radius: 5px;
    border: solid 1px var(--wp--preset--color--border-light);
    padding: .5em 1em;
    font-size: var(--wp--preset--font-size--small);
    background-color: var(--wp--preset--color--white);
}

input:focus-visible,
textarea:focus-visible {
    outline-color: var(--wp--preset--color--primary);
}

input[type="checkbox"],
input[type="image"],
input[type="radio"] {
    width: auto;
}

label {
    width: 100%;
    display: block;
}

::placeholder {
    color: var(--wp--preset--color--secondary);
    font-size: var(--wp--preset--font-size--small);
    opacity: 0.75;
}

/* Helper styles
---------------------------------------------------------------------------- */

a.more-link {
    display: block;
}

/* Inline code */
*:not(.wp-block-code)>code {
    background-color: var(--wp--preset--color--primary);
    color: var(--wp--preset--color--white);
    font-weight: var(--wp--custom--font-weight--regular);
    padding: 3px 5px;
    position: relative;
    border-radius: 3px;
}

.wp-block-categories {
    position: relative;
}

/* Adjust terms at bottom of posts */
.single .wp-block-group .wp-block-post-terms,
.blog .wp-block-group .wp-block-post-terms {
    margin-bottom: -8px !important;
}

/* Remove margin on term description on archive pages */
.wp-block-term-description p:last-child {
    margin-bottom: 0;
}

/* Remove last separator on post list */
.remove-border-and-padding .wp-block-post-template li:last-child .wp-block-separator {
    display: none;
}

/* Hide post meta div if no tags assigned */
.single .wp-block-group:has(> .post-meta:empty) {
    display: none;
}

.wp-block-group:empty:has(+ .comment-respond) {
    display: none;
}

.row-logos>figure {
    flex-shrink: 1 !important;
}

@media (max-width: 781px) {
    .-unstick-mobile {
        position: static;
    }
}

.footer-bg-1>img {
    width: 40% !important;
}

.slider-padding .slick-slide {
    padding: 10px;
}

.wp-block-navigation__responsive-container-close svg,
.wp-block-navigation__responsive-container-open svg {
    height: 34px;
    width: 34px;
}

/* Responsive Utility Classes
---------------------------------------------------------------------------- */

/* Mobile utilities (max-width: 480px) */
@media (max-width: 480px) {

    .hide-on-mobile,
    .hide-on-small {
        display: none !important;
    }

    .show-on-mobile-only,
    .show-on-small-only {
        display: block !important;
    }
}

@media (min-width: 481px) {

    .show-on-mobile-only,
    .show-on-small-only {
        display: none !important;
    }
}

/* Tablet utilities (481px - 1024px) */
@media (max-width: 1024px) and (min-width: 481px) {

    .hide-on-tablet,
    .hide-on-medium {
        display: none !important;
    }

    .show-on-tablet-only,
    .show-on-medium-only {
        display: block !important;
    }
}

@media not all and (max-width: 1024px) and (min-width: 481px) {

    .show-on-tablet-only,
    .show-on-medium-only {
        display: none !important;
    }
}

/* Tablet and up (min-width: 481px) */
@media (min-width: 481px) {

    .hide-on-tablet-up,
    .hide-on-medium-up {
        display: none !important;
    }

    .show-on-mobile-only,
    .show-on-small-only {
        display: none !important;
    }
}

@media (max-width: 480px) {

    .hide-on-tablet-up,
    .hide-on-medium-up {
        display: block !important;
    }
}

/* Desktop utilities (min-width: 1025px) */
@media (min-width: 1025px) {

    .hide-on-desktop,
    .hide-on-large {
        display: none !important;
    }

    .show-on-desktop-only,
    .show-on-large-only {
        display: block !important;
    }
}

@media (max-width: 1024px) {

    .show-on-desktop-only,
    .show-on-large-only {
        display: none !important;
    }
}

/* Text Alignment Utility Classes
---------------------------------------------------------------------------- */

/* Mobile alignment utilities (max-width: 480px) */
@media (max-width: 480px) {

    .center-align-on-mobile,
    .centre-align-on-mobile {
        text-align: center !important;
    }

    .left-align-on-mobile {
        text-align: left !important;
    }

    .right-align-on-mobile {
        text-align: right !important;
    }
}

/* Tablet alignment utilities (481px - 1024px) */
@media (max-width: 1024px) and (min-width: 481px) {

    .center-align-on-tablet,
    .centre-align-on-tablet {
        text-align: center !important;
    }

    .left-align-on-tablet {
        text-align: left !important;
    }

    .right-align-on-tablet {
        text-align: right !important;
    }
}

/* Tablet and up alignment utilities (min-width: 481px) */
@media (min-width: 481px) {

    .center-align-on-tablet-up,
    .centre-align-on-tablet-up {
        text-align: center !important;
    }

    .left-align-on-tablet-up {
        text-align: left !important;
    }

    .right-align-on-tablet-up {
        text-align: right !important;
    }
}

/* Desktop alignment utilities (min-width: 1025px) */
@media (min-width: 1025px) {

    .center-align-on-desktop,
    .centre-align-on-desktop {
        text-align: center !important;
    }

    .left-align-on-desktop {
        text-align: left !important;
    }

    .right-align-on-desktop {
        text-align: right !important;
    }
}

/* Small screen alignment utilities (max-width: 781px) */
@media (max-width: 781px) {

    .center-align-on-small,
    .centre-align-on-small {
        text-align: center !important;
    }

    .left-align-on-small {
        text-align: left !important;
    }

    .right-align-on-small {
        text-align: right !important;
    }
}

.gform_button {
    --gf-local-bg-color: var(--wp--preset--color--grey-dark, #000) !important;
    --gf-local-color: var(--wp--preset--color--white, #fff) !important;
    font-weight: bold !important;
}

.gform_button:hover {
    --gf-local-bg-color: var(--wp--preset--color--primary) !important;
    --gf-local-color: var(--wp--preset--color--grey-dark, #000) !important;
    font-weight: bold !important;
}

.margin-bottom-0,
.margin-bottom-0 li {
    margin-bottom: 0 !important;
}

.force-100percent-width img {
    width: 100% !important;
}

.max-width-feature {
    max-width: 120px !important;
}

/* WordPress Rows and Columns Stack Utility Classes
---------------------------------------------------------------------------- */

/* Force stack on tablet and thinner devices (max-width: 1024px) */
@media (max-width: 1024px) {

    .stack-on-tablet-and-smaller .wp-block-columns,
    .stack-on-tablet-and-smaller.wp-block-columns {
        flex-direction: column !important;
        flex-wrap: nowrap !important;
    }

    .stack-on-tablet-and-smaller .wp-block-column,
    .stack-on-tablet-and-smaller.wp-block-columns .wp-block-column {
        flex-basis: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        margin-bottom: var(--wp--preset--spacing--medium, 1rem) !important;
    }

    .stack-on-tablet-and-smaller .wp-block-column:last-child,
    .stack-on-tablet-and-smaller.wp-block-columns .wp-block-column:last-child {
        margin-bottom: 0 !important;
    }
}

/* Alternative class for wider tablet breakpoint (max-width: 1200px) */
@media (max-width: 1200px) {

    .stack-on-wide-tablet .wp-block-columns,
    .stack-on-wide-tablet.wp-block-columns {
        flex-direction: column !important;
        flex-wrap: nowrap !important;
    }

    .stack-on-wide-tablet .wp-block-column,
    .stack-on-wide-tablet.wp-block-columns .wp-block-column {
        flex-basis: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        margin-bottom: var(--wp--preset--spacing--medium, 1rem) !important;
    }

    .stack-on-wide-tablet .wp-block-column:last-child,
    .stack-on-wide-tablet.wp-block-columns .wp-block-column:last-child {
        margin-bottom: 0 !important;
    }
}

.team-grid li>.wp-block-group {
    height: 100%;
    display: flex;
    flex-direction: column;
}

.team-grid li>.wp-block-group>.view-button-group {
    margin-top: auto !important;
    width: 100% !important;
}