/*
Theme Name: MOS
Template: apparatus
Theme URI: https://www.pixouls.com/
Author: Pixouls
Author URI: https://www.pixouls.com/
Description: Apparatus child theme by Pixouls.
Version: 1.2.3
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: apparatus-child
Tags:
*/

/* ==========================================================================
   $RESET
   ========================================================================== */

[id] { scroll-margin-top: 18.4rem; }

/* ==========================================================================
   $TYPE
   ========================================================================== */

@font-face {
    font-family: 'TAN Angleton';
    src: url('assets/fonts/tan_-_angleton_regular-webfont.woff2') format('woff2'),
         url('assets/fonts/tan_-_angleton_regular-webfont.woff') format('woff');
    font-weight: 400;
    font-style: normal;
    font-display: block;
}
@font-face {
    font-family: 'TAN Angleton';
    src: url('assets/fonts/tan_-_angleton_italic-webfont.woff2') format('woff2'),
         url('assets/fonts/tan_-_angleton_italic-webfont.woff') format('woff');
    font-weight: 400;
    font-style: italic;
    font-display: block;
}

::selection {
    background-color: var(--c-pri);
}

html {
    font-family: "Poppins", sans-serif;
}
    body {
        font-size: 1.4rem;
    }

h1, h2, h3, h4, h5 {
    font-family: 'TAN Angleton', Georgia, serif;
    line-height: 1.5;
    text-wrap: balance;
    word-spacing: -.15em;
}
h1 {
    font-size: 5.6rem;
}

p { line-height: 1.75; }


/* ==========================================================================
   $HEADER
   ========================================================================== */

.hdr {
    color-scheme: dark;
}
    .hdr__logo-img {
        height: 4.8rem;
    }
    .hdr__cta.button {
        margin-left: auto;
        align-self: center;
    }


/* ==========================================================================
   $NAV
   ========================================================================== */

.nav__link,
.nav__button {
    font-family: 'TAN Angleton', Georgia, serif;
    font-size: 1.0rem;
}
    .nav__button-text {
        color: var(--c-fg);
    }
    .nav__sub-link {
        padding: .8rem 1.6rem;
        transition: background-color 0.15s linear, color 0.15s linear;
    }
@media only screen and (max-width: 768px) {
    .nav__link,
    .nav__button {
        font-size: 2.4rem;
    }
}

/* ==========================================================================
   $FLX OVERRIDES
   ========================================================================== */

/* Editorial */
.flx__col--editorial ul,
.flx__col--editorial ol {
    line-height: 1.75;
}

/* Grid */
.flx--featured-ctas .flx-grid__item {
    background: var(--c-bg);
    gap: 0;
    box-shadow: 0 .1rem .4rem var(--c-10);
}
.flx--featured-ctas .flx-grid__item:hover {
    box-shadow: 0 .8rem 2.4rem var(--c-10);
}
    .flx--featured-ctas .flx-grid__item-content {
        padding: 2.4rem;
    }
a.flx-grid__item {
    transition: transform .25s ease, box-shadow .25s ease;
}
a.flx-grid__item:hover {
    transform: translateY(-.4rem);
}
.flx--reviews a.flx-grid__item {
    box-shadow: none;
}

/* Accordion */
.flx-acc {
    border-top: none;
    gap: 1.6rem;
}
    .flx-acc__item {
        border-bottom: none;
        background: var(--c-bg);
        border-radius: .8rem;
        box-shadow: 0 .1rem .4rem var(--c-10);
    }
        .flx-acc__title {
            padding: 2.4rem 5.6rem 2.4rem 2.4rem;
            font-family: 'TAN Angleton', Georgia, serif;
            font-size: 1.6rem;
            font-weight: 700;
            line-height: 1.5;
            word-spacing: -.15em;
        }
            .flx-acc__title::after {
                right: 2.4rem;
            }
        .flx-acc__content {
            padding: 0 2.4rem 2.4rem;
            font-size: 1.4rem;
            line-height: 1.75;
        }


/* ==========================================================================
   $FLX-CUSTOM
   ========================================================================== */

.overline {
    line-height: 1;
}

.wp-block-separator, hr {
    border-color: var(--c-05);
}

.flx--hero-utility h1 {
    font-size: 4.8rem;
}

.flx--hero-default {
    background-color: var(--c-sec);
}

.flx--hero-home {
    background-color: var(--c-sec);
    padding-block: 17.6rem 22.4rem;
}
    .flx--hero-home::after {
        z-index: 10;
        content: '';
        position: absolute;
        bottom: -1.6rem;
        left: 50%;
        transform: translateX(-50%);
        background: url(assets/img/weathervane.svg) center / cover no-repeat scroll transparent;
        width: 10.4rem;
        height: auto;
        aspect-ratio: 400/376;
        object-fit: cover;
    }
    .flx--hero-home h1 {
        font-weight: 400;
        text-transform: uppercase;
        font-size: 8.0rem;
        line-height: 1.25;
        margin-block: 2.4rem 1.6rem;
    }
    .flx--hero-home h2 {
        text-align: center;
        font-style: italic;
        font-weight: 400;
        color: var(--c-pri);
        margin: 0;
    }
    .flx--hero-home .overline {
        margin: 0;
    }
@media only screen and (max-width: 768px) {
    .flx--hero-home {
        padding-block: 22.4rem 27.2rem;
    }
    .flx--hero-home h1 {
        font-size: 5.6rem;
    }
}

/* ==========================================================================
   $BAR
   ========================================================================== */
.notif:hover {
    background-color: var(--c-pri);
}
.notif__button {
    background-color: #B38D21;
}
.notif__button::after {
    content: ' \2192';
    font-size: 1.4rem;
}


/* ==========================================================================
   $VIM-TRIGGER
   ========================================================================== */

.vim-trigger__play-icon {
    width: 11.2rem;
    height: 11.2rem;
    border: .2rem solid var(--c-pri);
    border-radius: 50%;
    padding: .4rem;
}


/* ==========================================================================
   $TESTIMONIALS
   ========================================================================== */

.testimonial__quote {
    line-height: 1.75;
}
.testimonial__quote p::before,
.testimonial__quote p::after {
    content: '"';
}
.testimonial__content {
    align-items: center;
}
.testimonial__content::after {
    content: '';
    display: block;
    width: 10.4rem;
    height: 1.6rem;
    background: url(assets/img/stars.svg) center / contain no-repeat;
    margin-top: .8rem;
}
.testimonial__quote p:last-child {
    margin-bottom: 0;
}



/* ==========================================================================
   $GAL
   ========================================================================== */

.gal-swiper--auto .swiper-slide {
    padding-right: .8rem;
}
.gal-swiper--auto .swiper-slide:first-child {
    padding-left: .8rem;
}


/* ==========================================================================
   $FOOTER
   ========================================================================== */

.ftr {
    color-scheme: dark;
    background: var(--c-bg);
    color: var(--c-fg);
    padding-block: 8.0rem;
    font-size: 1.4rem;
    line-height: 1.6;
    width: auto;
    margin-inline: 0;
}
    .ftr a {
        text-decoration: none;
        transition: all .15s linear;
    }
    .ftr a:hover {
        opacity: .7;
    }
    .ftr__inner {
        gap: 4.0rem;
    }
        .ftr__top {
            display: grid;
            grid-template-columns: 3fr 2fr;
            gap: 4.0rem;
        }
            .ftr__brand {
                display: flex;
                gap: 2.4rem;
                align-items: flex-start;
            }
                .ftr__brand-badge {
                    width: 12.0rem;
                    height: auto;
                    flex-shrink: 0;
                }
                .ftr__brand-info {
                    display: flex;
                    flex-direction: column;
                    gap: 2.4rem;
                }
                    .ftr__brand-about {
                        margin: 0;
                        font-size: 1.2rem;
                        color: var(--c-75);
                    }
                .ftr__subscribe {
                    display: flex;
                    gap: .8rem;
                }
                    .ftr__subscribe-input {
                        flex: 1;
                        padding: 1.2rem 1.6rem;
                        border: .1rem solid var(--c-25);
                        border-radius: .4rem;
                        background: transparent;
                        color: var(--c-fg);
                        font-size: 1.4rem;
                    }
                    .ftr__subscribe-input::placeholder {
                        color: var(--c-50);
                    }
                    .ftr__subscribe-btn {
                        flex-shrink: 0;
                    }
            .ftr__cols-right {
                display: grid;
                grid-template-columns: 1fr 1fr;
                gap: 4.0rem;
            }
            .ftr__col {
                display: flex;
                flex-direction: column;
                gap: 2.4rem;
            }
            .ftr__title {
                font-size: 1.0rem;
                text-transform: uppercase;
                margin: 0;
            }
            .ftr__links {
                list-style: none;
                margin: 0;
                padding: 0;
                display: flex;
                flex-direction: column;
                gap: .8rem;
            }
            .ftr__contact {
                list-style: none;
                margin: 0;
                padding: 0;
                display: flex;
                flex-direction: column;
                gap: 1.6rem;
            }
                .ftr__contact-item {
                    display: flex;
                    align-items: flex-start;
                    gap: 1.2rem;
                }
                .ftr__contact-icon {
                    width: 1.6rem;
                    height: 1.6rem;
                    flex-shrink: 0;
                    fill: currentColor;
                    margin-top: .2rem;
                }
                .ftr__address {
                    font-style: normal;
                    color: var(--c-75);
                }
        .ftr__hours {
            display: flex;
            justify-content: space-between;
            border-top: .1rem solid var(--c-10);
            border-bottom: .1rem solid var(--c-10);
            padding-block: 3.2rem;
            margin: 0;
        }
            .ftr__hours-item {
                display: flex;
                flex-direction: column;
                align-items: center;
                gap: .4rem;
                flex: 1;
                position: relative;
            }
            .ftr__hours-item + .ftr__hours-item::before {
                content: '';
                position: absolute;
                left: 0;
                top: 50%;
                transform: translateY(-50%);
                height: 3.2rem;
                width: .1rem;
                background: var(--c-10);
            }
                .ftr__hours-item dt {
                    font-size: 1.1rem;
                    font-weight: 700;
                    text-transform: uppercase;
                    letter-spacing: .1em;
                    color: var(--c-pri);
                }
                .ftr__hours-item dd {
                    margin: 0;
                    font-size: 1.3rem;
                    color: var(--c-75);
                }
        .ftr__colophon {
            display: flex;
            justify-content: space-between;
            align-items: center;
        }
            .ftr__colophon-left {
                display: flex;
                align-items: center;
                gap: 2.4rem;
            }
                .ftr__colophon-logo {
                    height: 4.0rem;
                    width: auto;
                }
                .ftr__colophon-text {
                    margin: 0;
                    font-size: 1.1rem;
                    color: var(--c-50);
                    line-height: 1.75;
                }
                .ftr .ftr__colophon-link {
                    color: var(--c-50);
                    text-decoration: underline;
                    text-underline-offset: .2em;
                    text-decoration-color: var(--c-25);
                }
                .ftr .ftr__colophon-link:hover {
                    color: var(--c-pri);
                    text-decoration-color: var(--c-pri);
                    opacity: 1;
                }
            .ftr__socials {
                display: flex;
                gap: 1.6rem;
            }
                .ftr__social {
                    display: flex;
                    align-items: center;
                    justify-content: center;
                    width: 4.0rem;
                    height: 4.0rem;
                    border-radius: 50%;
                    border: .1rem solid var(--c-25);
                    transition: border-color .15s linear;
                }
                .ftr__social:hover {
                    border-color: var(--c-pri);
                    opacity: 1;
                }
                    .ftr__social-icon {
                        width: 1.6rem;
                        height: 1.6rem;
                        fill: var(--c-pri);
                    }
    @media (max-width: 768px) {
        .ftr__top {
            grid-template-columns: 1fr;
        }
        .ftr__brand {
            flex-direction: column;
            align-items: center;
            text-align: center;
        }
        .ftr__cols-right {
            grid-template-columns: 1fr;
        }
        .ftr__hours {
            flex-wrap: wrap;
            justify-content: center;
            gap: 2.4rem;
        }
        .ftr__hours-item + .ftr__hours-item::before {
            display: none;
        }
        .ftr__colophon {
            flex-direction: column;
            gap: 2.4rem;
            text-align: center;
        }
    }


/* ==========================================================================
   $POP
   ========================================================================== */

.pop {
    color-scheme: dark;
}
    .pop__item {
        background: var(--c-05);
    }


/* ==========================================================================
   $SEARCH
   ========================================================================== */

.s-results__item-link {
    line-height: 1.75;
}
.s-results__meta {
    display: none;
}


/* ==========================================================================
   $CONTENT
   ========================================================================== */

ul.wp-block-list {
    line-height: 1.75;
}


/* ==========================================================================
   $TEES
   ========================================================================== */

.tees {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}
    .tees__table {
        width: 100%;
        border-collapse: collapse;
        font-size: 1.4rem;
        line-height: 1.4;
    }
        .tees__table thead th {
            font-size: 1.1rem;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: .08em;
            color: var(--c-50);
            padding: 1.6rem 2.0rem;
            border-bottom: .1rem solid var(--c-10);
            text-align: left;
            white-space: nowrap;
        }
        .tees__table tbody th,
        .tees__table tbody td {
            padding: 1.6rem 2.0rem;
            border-bottom: .1rem solid var(--c-10);
            vertical-align: middle;
        }
        .tees__table tbody th {
            font-weight: 600;
            white-space: nowrap;
            text-align: left;
        }
        .tees__table tbody td {
            text-align: left;
            color: var(--c-75);
        }
        .tees__table tbody tr:last-child th,
        .tees__table tbody tr:last-child td {
            border-bottom: none;
        }
        .tees__table tbody tr:hover th,
        .tees__table tbody tr:hover td {
            background: var(--c-05);
        }
    .tees__icon {
        width: 1.8rem;
        height: 1.8rem;
        fill: currentColor;
        vertical-align: middle;
        margin-right: .6rem;
    }
    @media (max-width: 640px) {
        .tees__table thead {
            display: none;
        }
        .tees__table tbody tr {
            display: block;
            padding: 1.6rem 0;
            border-bottom: .1rem solid var(--c-10);
        }
        .tees__table tbody tr:last-child {
            border-bottom: none;
        }
        .tees__table tbody th,
        .tees__table tbody td {
            display: flex;
            justify-content: space-between;
            padding: .6rem 0;
            border-bottom: none;
        }
        .tees__table tbody th {
            font-size: 1.6rem;
            padding-bottom: .8rem;
        }
        .tees__table tbody td::before {
            content: attr(data-label);
            font-weight: 600;
            color: var(--c-fg);
            margin-right: 2.0rem;
        }
        .tees__table tbody tr:hover th,
        .tees__table tbody tr:hover td {
            background: transparent;
        }
    }


/* ==========================================================================
   $EVENTS
   ========================================================================== */

.events__empty {
    text-align: center;
    color: var(--c-50);
}
.events__item {
    display: flex;
    align-items: center;
    gap: 2.4rem;
    padding: 2.4rem 0;
    border-bottom: .1rem solid var(--c-10);
    transition: background-color .15s linear;
}
.events__item:first-child {
    border-top: .1rem solid var(--c-10);
}
    .events__date {
        display: flex;
        flex-direction: column;
        align-items: center;
        min-width: 6.4rem;
        padding: 1.2rem;
        background: var(--c-05);
        border-radius: .4rem;
    }
        .events__date-month {
            font-size: 1.1rem;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: .08em;
            color: var(--c-pri);
        }
        .events__date-day {
            font-family: 'TAN Angleton', Georgia, serif;
            font-size: 2.4rem;
            font-weight: 700;
            line-height: 1.25;
        }
    .events__content {
        flex: 1;
        min-width: 0;
    }
        .events__title {
            margin: 0 0 .4rem;
            font-size: 1.6rem;
        }
        .events__meta {
            font-size: 1.2rem;
            color: var(--c-50);
            margin: 0;
        }
        .events__excerpt {
            margin: .8rem 0 0;
            font-size: 1.3rem;
            color: var(--c-75);
            line-height: 1.5;
        }
    .events__more {
        flex-shrink: 0;
        font-size: 1.2rem;
        font-weight: 700;
        color: var(--c-pri);
    }


/* ==========================================================================
   $EVENT-SINGLE
   ========================================================================== */

.event-single__header {
    background: var(--c-05);
}
    .event-single__header-inner {
        display: flex;
        align-items: center;
        gap: 2.4rem;
        width: var(--w-md);
        margin: 0 auto;
        padding: 8.0rem 0;
    }
        .event-single__date {
            display: flex;
            flex-direction: column;
            align-items: center;
            min-width: 8.0rem;
            padding: 1.6rem;
            background: var(--c-bg);
            border-radius: .4rem;
        }
            .event-single__date-month {
                font-size: 1.2rem;
                font-weight: 700;
                text-transform: uppercase;
                letter-spacing: .08em;
                color: var(--c-pri);
            }
            .event-single__date-day {
                font-family: 'TAN Angleton', Georgia, serif;
                font-size: 3.2rem;
                font-weight: 700;
                line-height: 1.25;
            }
        .event-single__title {
            margin: 0;
        }
        .event-single__meta {
            margin: .8rem 0 0;
            color: var(--c-50);
        }
.event-single__inner {
    width: var(--w-md);
    margin: 4.0rem auto 8.0rem;
}
    .event-single__content {
        margin-bottom: 4.0rem;
    }
    .event-single__gallery {
        margin-bottom: 4.0rem;
    }
    .event-single__back {
        padding-top: 2.4rem;
        border-top: .1rem solid var(--c-10);
    }


/* ==========================================================================
   $FORMS
   ========================================================================== */

.app .gform_wrapper.gravity-theme .gfield_checkbox .gfield-choice-input:checked + label::after {
    background-image: url('assets/img/icon-check.svg');
}
.app .gform_wrapper.gravity-theme .gfield_radio .gfield-choice-input:checked + label::after {
    background-image: url('assets/img/icon-radio.svg');
}

.app .gform_confirmation_message {
    line-height: 1.75;
}

.careers__content p,
.careers__content ul {
    line-height: 1.75;
}


/* ==========================================================================
   $BUTTONS
   ========================================================================== */

.button,
input[type="submit"],
input[type="reset"],
input[type="button"] {
    padding: 1.4rem 2.4rem;
    border-radius: .4rem;
    font-family: 'TAN Angleton', Georgia, serif;
    font-weight: 700;
    font-size: 1.2rem;
    transition: box-shadow .25s ease, background-color .25s ease, color .25s ease;
}
.button:hover,
input[type="submit"]:hover,
input[type="reset"]:hover,
input[type="button"]:hover,
a:hover .button,
.button:focus,
button.button:focus,
input[type="submit"]:focus,
input[type="reset"]:focus,
input[type="button"]:focus {
    box-shadow: 0 0 2.0rem color-mix(in srgb, var(--c-pri) 40%, transparent);
    background-color: var(--c-qua);
}
.button--ter,
input[type="submit"].button--ter,
input[type="reset"].button--ter,
input[type="button"].button--ter {
    font-family: "Poppins", sans-serif;
    padding: 0;
    border: none;
}
.button--ter:hover,
input[type="submit"].button--ter:hover,
input[type="reset"].button--ter:hover,
input[type="button"].button--ter:hover,
a:hover .button--ter,
.button--ter:focus,
button.button--ter:focus,
input[type="submit"].button--ter:focus,
input[type="reset"].button--ter:focus,
input[type="button"].button--ter:focus {
    box-shadow: none;
    background-color: transparent;
    color: var(--c-qua);
    opacity: 1;
}

/* ==========================================================================
   $CAL-VIEW-TOGGLE
   ========================================================================== */
.cal-view-toggle {
    width: var(--w-md);
    margin-inline: auto;
    margin-block: 4.0rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
}
    .cal-view-toggle__inner {
        display: -webkit-inline-box;
        display: -ms-inline-flexbox;
        display: inline-flex;
        background: var(--c-bg);
        border-radius: 3.2rem;
        padding: .4rem;
        gap: .4rem;
    }
        .cal-view-toggle__btn {
            position: relative;
            padding: 1.2rem 2.4rem;
            font-size: 1.4rem;
            font-weight: 700;
            color: var(--c-75);
            background: transparent;
            border-radius: 2.8rem;
            -webkit-transition: all .2s ease;
            -o-transition: all .2s ease;
            transition: all .2s ease;
            cursor: pointer;
        }
        .cal-view-toggle__btn:hover {
            color: var(--c-fg);
            background: var(--c-10);
        }
        .cal-view-toggle__btn--active {
            color: var(--c-w);
            background: var(--c-pri);
        }
        .cal-view-toggle__btn--active:hover {
            background: var(--c-pri);
        }
            .cal-view-toggle__btn-text {
                position: relative;
                z-index: 1;
            }
@media only screen and (max-width: 512px) {
    .cal-view-toggle__btn {
        padding: 1.0rem 1.6rem;
        font-size: 1.2rem;
    }
}





.pix-gcal-grid a {
    color: var(--c-fg);
}
.fc .fc-daygrid-body-unbalanced .fc-daygrid-day-events {
    min-height: 6em;
}


