/**
Theme Name: 3GE Theme
Author: Jessie Proffitt
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: 3ge-theme
Template: astra
*/

/**
 * Table of contents
 * - Typography
 * - Controls (Forms & Buttons)
 * - Page Elements
 * - Special Pages
 * - Plugin Specific
 * - Utility Classes
 */


html {
	overflow-x: hidden;
	--ast-default-text-color: var(--ast-text-color);
	--ast-default-link-color: var(--ast-link-color);
	--ast-default-link-h-color: var(--ast-link-h-color);
	--ast-default-heading-base-color: var(--ast-heading-base-color);
	--ast-default-button-bg-color: var(--ast-button-bg-color);
	--ast-default-button-bg-h-color: var(--ast-button-bg-h-color);
	--ast-default-button-text-color: var(--ast-button-text-color);
	--ast-default-button-text-h-color: var(--ast-button-text-h-color);
	--ast-default-button-border-color: var(--ast-button-border-color);
	--ast-default-button-border-h-color: var(--ast-button-border-h-color);
	--ast-default-form-bg-color: var(--ast-form-bg-color);
	--ast-default-form-bg-f-color: var(--ast-form-bg-f-color);
	--ast-default-form-text-color: var(--ast-form-text-color);
	--ast-default-form-text-f-color: var(--ast-form-text-f-color);
	--ast-default-form-border-color: var(--ast-form-border-color);
	--ast-default-form-border-f-color: var(--ast-form-border-f-color);
	--ast-default-form-addon-text-color: var(--ast-form-addon-text-color);
	--ast-default-form-addon-bg-color: var(--ast-form-addon-bg-color);
	--ast-default-form-addon-border-color: var(--ast-form-addon-border-color);
}

/**
 * Typography
 */

body {
    font-family: var(--ast-body-text-family);
    font-size: var(--ast-body-text-size);
    font-weight: var(--ast-body-text-weight);
    line-height: var(--ast-body-text-height-unitless);
    letter-spacing: var(--ast-body-text-spacing);
    text-transform: var(--ast-body-text-transform);
    text-decoration: var(--ast-body-text-decoration);
}

:is(.site-content, .site-footer) :where(h1, h2, h3, h4, h5, h6) {
    color: var(--ast-heading-base-color);
}
:is(.site-content, .site-footer) :where(h1, h2, h3, h4, h5, h6):where(:not(.fl-module)) {
    margin-bottom: 0;
}
:is(.site-content, .site-footer) :is(h1, h2, h3, h4, h5, h6):where(.fl-module) {
	margin-bottom: 24px;
}

:is(.site-content, .site-footer) :where(h1) {
    font-family: var(--ast-h1-text-family);
    font-size: var(--ast-h1-text-size);
    font-weight: var(--ast-h1-text-weight);
    line-height: var(--ast-h1-text-height-unitless);
    letter-spacing: var(--ast-h1-text-spacing);
    text-transform: var(--ast-h1-text-transform);
    text-decoration: var(--ast-h1-text-decoration);
}
:is(.site-content, .site-footer) * + :where(h1):where(:not(.fl-module)) {
    margin-top: var(--ast-h1-margin, var(--ast-headings-margin, 1em));
}

:is(.site-content, .site-footer) :where(h2) {
    font-family: var(--ast-h2-text-family);
    font-size: var(--ast-h2-text-size);
    font-weight: var(--ast-h2-text-weight);
    line-height: var(--ast-h2-text-height-unitless);
    letter-spacing: var(--ast-h2-text-spacing);
    text-transform: var(--ast-h2-text-transform);
    text-decoration: var(--ast-h2-text-decoration);
}
:is(.site-content, .site-footer) * + :where(h2):where(:not(.fl-module)) {
    margin-top: var(--ast-h2-margin, var(--ast-headings-margin, 1em));
}

:is(.site-content, .site-footer) :where(h3) {
    font-family: var(--ast-h3-text-family);
    font-size: var(--ast-h3-text-size);
    font-weight: var(--ast-h3-text-weight);
    line-height: var(--ast-h3-text-height-unitless);
    letter-spacing: var(--ast-h3-text-spacing);
    text-transform: var(--ast-h3-text-transform);
    text-decoration: var(--ast-h3-text-decoration);
}
:is(.site-content, .site-footer) * + :where(h3):where(:not(.fl-module)) {
    margin-top: var(--ast-h3-margin, var(--ast-headings-margin, 1em));
}

:is(.site-content, .site-footer) :where(h4) {
    font-family: var(--ast-h4-text-family);
    font-size: var(--ast-h4-text-size);
    font-weight: var(--ast-h4-text-weight);
    line-height: var(--ast-h4-text-height-unitless);
    letter-spacing: var(--ast-h4-text-spacing);
    text-transform: var(--ast-h4-text-transform);
    text-decoration: var(--ast-h4-text-decoration);
}
:is(.site-content, .site-footer) * + :where(h4):where(:not(.fl-module)) {
    margin-top: var(--ast-h4-margin, var(--ast-headings-margin, 1em));
}

:is(.site-content, .site-footer) :where(h5) {
    font-family: var(--ast-h5-text-family);
    font-size: var(--ast-h5-text-size);
    font-weight: var(--ast-h5-text-weight);
    line-height: var(--ast-h5-text-height-unitless);
    letter-spacing: var(--ast-h5-text-spacing);
    text-transform: var(--ast-h5-text-transform);
    text-decoration: var(--ast-h5-text-decoration);
}
:is(.site-content, .site-footer) * + :where(h5):where(:not(.fl-module)) {
    margin-top: var(--ast-h5-margin, var(--ast-headings-margin, 1em));
}

:is(.site-content, .site-footer) :where(h6) {
    font-family: var(--ast-h6-text-family);
    font-size: var(--ast-h6-text-size);
    font-weight: var(--ast-h6-text-weight);
    line-height: var(--ast-h6-text-height-unitless);
    letter-spacing: var(--ast-h6-text-spacing);
    text-transform: var(--ast-h6-text-transform);
    text-decoration: var(--ast-h6-text-decoration);
}
:is(.site-content, .site-footer) * + :where(h6):where(:not(.fl-module)) {
    margin-top: var(--ast-h6-margin, var(--ast-headings-margin, 1em));
}

div.site-content p {
    color: var(--ast-text-color);
    margin-bottom: 0;
}

:where(:where(.site-content, .site-footer) :not(div)) + :is(p, button, form), 
:where(:where(.site-content, .site-footer) *) + div[class^="wp-block"] {
    margin-top: var(--ast-p-margin);
}

:where(:where(.site-header, .site-content, .site-footer) p) a {
    color: var(--ast-link-color);
}

:where(:where(.site-header, .site-content, .site-footer) p) a:hover {
    color: var(--ast-link-h-color);
}

:where(.site-header, .site-content, .site-footer) label {
    color: var(--ast-text-color);
}

.site-footer .ast-footer-copyright {
    --ast-text-color: currentColor;
    --ast-link-color: currentColor;
}

/**
 * Controls
 */

:is(.site, .pp-offcanvas-body) :is(
	input[type="submit"],
	input[type="reset"],
	.btn,
	a.fl-button,
) {
    display: inline-flex;
    align-items: center;
    min-height: var(--ast-button-height, auto);
    background: var(--ast-button-bg-color);
    font-size: var(--ast-button-text-size);
    font-weight: var(--ast-button-text-weight);
    text-decoration: var(--ast-button-text-decoration) !important;
    text-transform: var(--ast-button-text-transform);
    color: var(--ast-button-text-color);
    padding: var(--ast-button-padding);
    border-width: var(--ast-button-border-width);
    border-style: solid;
    border-color: var(--ast-button-border-color);
    border-radius: var(--ast-button-border-radius);
    transition: all .2s linear;
}

:is(.site, .pp-offcanvas-body) :is(
	input[type="submit"],
	input[type="reset"],
	.btn,
	a.fl-button,
):hover {
    background: var(--ast-button-bg-h-color);
    color: var(--ast-button-text-h-color);
    border-color: var(--ast-button-border-h-color);	
}

:is(.site, .pp-offcanvas-body) :is(
	input[type="submit"],
	input[type="reset"],
	.btn,
	a.fl-button,
) i:first-child {
    margin-right: 0.5em;
}

:is(.site, .pp-offcanvas-body) :is(
	input[type="submit"],
	input[type="reset"],
	.btn,
	a.fl-button,
) i:last-child {
    margin-left: 0.5em;
}

:is(.site, .pp-offcanvas-body) :is(
	input[type="email"], 
	input[type="number"], 
	input[type="password"],
	input[type="search"], 
	input[type="tel"], 
	input[type="text"], 
	input[type="url"], 
	select, 
	textarea
),
.thm-form-control
{
    display: block;
    width: 100%;
    height: var(--ast-form-height, auto);
    flex-grow: 1;
    background: 
        var(--ast-form-bg-color) 
        linear-gradient(
            -45deg, 
            var(--ast-form-bg-color) 50%, 
            var(--ast-form-bg-f-color) 50%
        )
        100% 100%/200% 200%
        no-repeat
        ;
    background-color: var(--ast-form-bg-color);
    color: var(--ast-form-text-color);
    font-size: var(--ast-form-text-size);
    line-height: var(--ast-form-text-height);
    padding: var(--ast-form-padding);
    border-width: var(--ast-form-border-width);
    border-style: solid;
    border-color: var(--ast-form-border-color);
    border-radius: var(--ast-form-border-radius);
    transition: background 0.5s, color 0.2s, border-color 0.2s;
}

:is(.site, .pp-offcanvas-body) :is(
	input[type="email"], 
	input[type="number"], 
	input[type="password"],
	input[type="search"], 
	input[type="tel"], 
	input[type="text"], 
	input[type="url"], 
	select, 
	textarea
):focus-visible,
.thm-form-control:focus-visible {
    background: 
        var(--ast-form-bg-color) 
        linear-gradient(
            -45deg, 
            var(--ast-form-bg-color) 50%, 
            var(--ast-form-bg-f-color) 50%
        )
        0% 0%/200% 200%
        no-repeat
        ;
    background-color: var(--ast-form-bg-f-color);
    color: var(--ast-form-text-f-color);
    border-color: var(--ast-form-border-f-color);
}

:is(.site, .pp-offcanvas-body) :is(
	input[type="email"], 
	input[type="number"], 
	input[type="password"],
	input[type="search"], 
	input[type="tel"], 
	input[type="text"], 
	input[type="url"], 
	select, 
	textarea
):invalid ,
.thm-form-control:invalid  {
  --ast-form-border-color: hsl(5, 90%, 50%);;
}

:is(.site, .pp-offcanvas-body) :is(
	input::placeholder,
	textarea::placeholder,
	option[value=""],
) {
    color: inherit;
    opacity: 0.85;
}

:is(.site, .pp-offcanvas-body) textarea {
    min-width: 100%;
    max-width: 100%;
	height: auto;
}

.thm-form-label {
    display: block;
}

.thm-input-group {
    display: flex;
}

.thm-input-group > *:not(:first-child) {
    border-top-left-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
}

.thm-input-group > *:not(:last-child) {
    border-top-right-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
}

.thm-input-addon-control {
    flex-grow: 0 !important;
    width: auto !important;
}

.thm-input-addon-text {
    background: var(--ast-form-addon-bg-color, var(--ast-overlay-color, transparent));
    border-color: var(--ast-form-addon-border-color, transparent);
    border-width: var(--ast-form-addon-border-width, --ast-form-border-width);
    border-style: solid;
    color: var(--ast-form-addon-text-color, var(--ast-text-color));
    font-size: var(--ast-form-text-size);
    line-height: var(--ast-form-text-height);
    padding: var(--ast-form-addon-padding, var(--ast-form-padding));
}

.thm-form-check {
    display: flex;
    height: var(--ast-form-height);
    align-items: center;
    margin-right: calc(0.5 * var(--ast-base-spacing, 24px));
}
  
.thm-form-check input {
    margin-right: calc(0.25 * var(--ast-base-spacing, 24px));
}

.thm-form-checklist-inline .thm-form-check {
    display: inline-flex;
}

/**
 * Page Elements
 */

/**
 * - Container
 */

body {
    --ast-container-width: 100%;
    --ast-container-gutter: 24px;
}

body.ast-page-builder-template,
body.ast-plain-container {
    --ast-container-width: var(--ast-normal-container-width);
}

body.ast-narrow-container {
    --ast-container-width: var(--ast-narrow-container-width);
}

/**
 * - Header
 */

.site-branding {
	padding: 0;
}

.site-branding .custom-logo {
    width: var(--ast-logo-width);
}

.ast-mobile-popup-inner {
	backdrop-filter: blur(10px);
}

.ast-primary-header-bar {
	transition: background 0.5s;
}

/**
 * - Header on Desktops +
 */

@media (min-width: 922px) {
    /**
     * Modifications for small desktops
     */

    @media (max-width: 1200px) {
        .main-header-menu > .menu-item > .menu-link {
            font-size: var(--ast-nav-small-desktop-font-size, inherit);
        }
    }
}

/**
 * Special Pages
 */

/**
 * - e.g. 404 Page
 */

/**
 * Plugin Specific
 */

/**
 * - Beaver Builder
 */

.fl-builder .ast-single-entry-banner {
	display: none;
}

.fl-builder #primary {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

.fl-builder .fl-builder-content-primary  > .fl-row.fl-row-full-width,
.fl-builder .fl-builder-content-primary  > .fl-module-box {
	margin: 0 calc(50% - 50 * var(--rvw, 1vw));
}

.fl-builder .fl-builder-content-primary > .fl-row.fl-row-full-width > .fl-row-content-wrap > .fl-row-content.fl-row-fixed-width {
	padding: 0 calc(50 * var(--rvw, 1vw) - 50%);
}

.fl-row-fixed-width {
    width: calc(100% - 2 * var(--ast-container-gutter, 0px));
    flex-grow: 0 !important;
}

.fl-row-fixed-width .fl-row-fixed-width {
    max-width: 100%;
}

.fl-col-group {
    display: flex;
    flex-wrap: wrap;
}
.fl-col-group:before,
.fl-col-group:after {
    display: none !important;
}

.fl-col {
    max-width: 100%;
}

.fl-row.fl-block-overlay-active .fl-module {
 	z-index: 100007 !important; /* Fix interaction with modules in boxes */
}

.fl-row.fl-block-overlay-active .fl-module.fl-block-overlay-active {
	z-index: 100008 !important; /* Fix block overlay menus appearing behind following modules */
}

.fl-module-box :is(.fl-module), .fl-module-box :is(.fl-module-content), .fl-module-box.fl-block > * {
	margin-bottom: 0;
}

/**
 * - PowerPack
 */

.swiper-container {
    display: grid !important; /* Needed to fix infinite width glitch */
}

.swiper-track {
    min-width: 0 !important; /* Needed to fix infinite width glitch */
}

.pp-swiper-button {
    top: 50% !important;
    margin: 0 !important;
}

.pp-posts-wrapper .hentry {
    margin-bottom: 0;
}

.pp-headline-animation-type-clip .pp-headline-dynamic-wrapper {
    transition: none;
}

/**
 * - Contact Form 7
 */

.wpcf7-submit-and-spinner {
	position: relative;
	display: inline-block;
	width: fit-content;
}

.wpcf7-submit-and-spinner .wpcf7-spinner {
	position: absolute;
	top: 50%;
	left: 50%;
	padding: 0;
	margin: 0;
	transform: translate(-50%, -50%);
}

.wpcf7-form.submitting .wpcf7-submit-and-spinner .wpcf7-submit {
	filter: brightness(0.5);
	pointer-events: none;
}

/**
 * - Woocommerce
 */

.woocommerce-error {
	width: 100%;
}

/**
 * - - Single Product Page
 */

.woocommerce-js div.product div.images img {
	width: 100%;
}

.woocommerce-js input[type=number] {
    max-width: calc(min(100%, 100px));
}

.woocommerce #content .ast-woocommerce-container div.product div.images, 
.woocommerce .ast-woocommerce-container div.product div.images, 
.woocommerce-page #content .ast-woocommerce-container div.product div.images, 
.woocommerce-page .ast-woocommerce-container div.product div.images,
.woocommerce #content .ast-woocommerce-container div.product div.summary, 
.woocommerce .ast-woocommerce-container div.product div.summary, 
.woocommerce-page #content .ast-woocommerce-container div.product div.summary, 
.woocommerce-page .ast-woocommerce-container div.product div.summary {
    width: 100%;
}

@media (min-width: 922px) {
    body.single-product .ast-article-single {
        display: grid;
        grid-template-columns: var(--ast-woo-single-product-image-width, 50%) 1fr;
        grid-gap: calc(clamp(3vw, 12px, 48px));
        align-items: flex-start;
    }
	
	body.single-product .ast-article-single .related.products {
		grid-column: 1 / -1;
	}
	
	body.single-product .woocommerce-tabs {
		grid-column: 1 / -1;
	}
}

.woocommerce .threege-woocommerce-product-details__buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin: 24px 0;
}

.woocommerce #review_form_wrapper {
	margin-top: 24px;
}

/**
 * - - Cart
 */

.woocommerce-cart table.shop_table thead,
.woocommerce-cart .cart-collaterals .cart_totals > h2 {
    background: var(--ast-palette-primary);
}

/**
 * - - Checkout
 */

.ast-modern-checkout .woocommerce #ast-order-review-content .woocommerce-checkout-review-order-table tbody tr td.product-name, 
.ast-modern-checkout .woocommerce #order_review .woocommerce-checkout-review-order-table tbody tr td.product-name {
    flex-wrap: wrap;
    row-gap: 1em;
}

.woocommerce-js td.product-name .wc-item-meta, 
.woocommerce-js td.product-name dl.variation {
    width: 100%;
}

.ast-modern-checkout .woocommerce .ast-mobile-order-review-wrap {
    background: var(--ast-palette-primary);
}

.ast-modern-checkout .woocommerce .ast-mobile-order-review-wrap #ast-order-review-toggle .ahfb-svg-iconset {
    fill: var(--ast-palette-text);
}

.woocommerce .payment_box p {
	color: var(--ast-palette-light);
}

body:not(.cartflows-canvas):not(.cartflows-default) .woocommerce form .form-row label:not(.checkbox):not(.woocommerce-form__label-for-checkbox) {
    color: var(--ast-palette-light);
}

body:not(.cartflows-canvas):not(.cartflows-default) .woocommerce form .form-row .select2-container--default .select2-selection--single, 
body:not(.cartflows-canvas):not(.cartflows-default) .woocommerce form .form-row input[type="email"], 
body:not(.cartflows-canvas):not(.cartflows-default) .woocommerce form .form-row input[type="number"], 
body:not(.cartflows-canvas):not(.cartflows-default) .woocommerce form .form-row input[type="password"], 
body:not(.cartflows-canvas):not(.cartflows-default) .woocommerce form .form-row input[type="reset"], 
body:not(.cartflows-canvas):not(.cartflows-default) .woocommerce form .form-row input[type="search"], 
body:not(.cartflows-canvas):not(.cartflows-default) .woocommerce form .form-row input[type="tel"], 
body:not(.cartflows-canvas):not(.cartflows-default) .woocommerce form .form-row input[type="text"], 
body:not(.cartflows-canvas):not(.cartflows-default) .woocommerce form .form-row input[type="url"], 
body:not(.cartflows-canvas):not(.cartflows-default) .woocommerce form .form-row select, 
body:not(.cartflows-canvas):not(.cartflows-default) .woocommerce form .form-row textarea {
    height: auto;
}

.woocommerce-page.woocommerce-checkout #payment div.payment_box, 
.woocommerce.woocommerce-checkout #payment div.payment_box {
	background: var(--ast-palette-dark);
}

.woocommerce-page.woocommerce-checkout #payment div.payment_box:before, 
.woocommerce.woocommerce-checkout #payment div.payment_box:before {
	border-bottom-color: var(--ast-palette-dark);
}

/**
 * Utility Classes
 */

.thm-mt-0,
.thm-my-0 {
    margin-top: 0 !important;
}
.thm-mt-1,
.thm-my-1 {
    margin-top: calc(0.25 * var(--ast-base-spacing, 24px)) !important;
}
.thm-mt-2,
.thm-my-2 {
    margin-top: calc(0.5 * var(--ast-base-spacing, 24px)) !important;
}
.thm-mt-3,
.thm-my-3 {
    margin-top: var(--ast-base-spacing, 24px) !important;
}
.thm-mt-4,
.thm-my-4 {
    margin-top: calc(2 * var(--ast-base-spacing, 24px)) !important;
}
.thm-mt-5,
.thm-my-5 {
    margin-top: calc(4 * var(--ast-base-spacing, 24px)) !important;
}
.thm-mb-0,
.thm-my-0 {
    margin-bottom: 0 !important;
}
.thm-mb-1,
.thm-my-1 {
    margin-bottom: calc(0.25 * var(--ast-base-spacing, 24px)) !important;
}
.thm-mb-2,
.thm-my-2 {
    margin-bottom: calc(0.5 * var(--ast-base-spacing, 24px)) !important;
}
.thm-mb-3,
.thm-my-3 {
    margin-bottom: var(--ast-base-spacing, 24px) !important;
}
.thm-mb-4,
.thm-my-4 {
    margin-bottom: calc(2 * var(--ast-base-spacing, 24px)) !important;
}
.thm-mb-5,
.thm-my-5 {
    margin-bottom: calc(4 * var(--ast-base-spacing, 24px)) !important;
}
.thm-ml-0,
.thm-mx-0 {
    margin-left: 0 !important;
}
.thm-ml-1,
.thm-mx-1 {
    margin-left: calc(0.25 * var(--ast-base-spacing, 24px)) !important;
}
.thm-ml-2,
.thm-mx-2 {
    margin-left: calc(0.5 * var(--ast-base-spacing, 24px)) !important;
}
.thm-ml-3,
.thm-mx-3 {
    margin-left: var(--ast-base-spacing, 24px) !important;
}
.thm-ml-4,
.thm-mx-4 {
    margin-left: calc(2 * var(--ast-base-spacing, 24px)) !important;
}
.thm-ml-5,
.thm-mx-5 {
    margin-left: calc(4 * var(--ast-base-spacing, 24px)) !important;
}
.thm-mr-0,
.thm-mx-0 {
    margin-right: 0 !important;
}
.thm-mr-1,
.thm-mx-1 {
    margin-right: calc(0.25 * var(--ast-base-spacing, 24px)) !important;
}
.thm-mr-2,
.thm-mx-2 {
    margin-right: calc(0.5 * var(--ast-base-spacing, 24px)) !important;
}
.thm-mr-3,
.thm-mx-3 {
    margin-right: var(--ast-base-spacing, 24px) !important;
}
.thm-mr-4,
.thm-mx-4 {
    margin-right: calc(2 * var(--ast-base-spacing, 24px)) !important;
}
.thm-mr-5,
.thm-mx-5 {
    margin-right: calc(4 * var(--ast-base-spacing, 24px)) !important;
}

@media (min-width: 768px) {
    .thm-mt-md-0,
    .thm-my-md-0 {
        margin-top: 0 !important;
    }
    .thm-mt-md-1,
    .thm-my-md-1 {
        margin-top: calc(0.25 * var(--ast-base-spacing, 24px)) !important;
    }
    .thm-mt-md-2,
    .thm-my-md-2 {
        margin-top: calc(0.5 * var(--ast-base-spacing, 24px)) !important;
    }
    .thm-mt-md-3,
    .thm-my-md-3 {
        margin-top: var(--ast-base-spacing, 24px) !important;
    }
    .thm-mt-md-4,
    .thm-my-md-4 {
        margin-top: calc(2 * var(--ast-base-spacing, 24px)) !important;
    }
    .thm-mt-md-5,
    .thm-my-md-5 {
        margin-top: calc(4 * var(--ast-base-spacing, 24px)) !important;
    }
    .thm-mb-md-0,
    .thm-my-md-0 {
        margin-bottom: 0 !important;
    }
    .thm-mb-md-1,
    .thm-my-md-1 {
        margin-bottom: calc(0.25 * var(--ast-base-spacing, 24px)) !important;
    }
    .thm-mb-md-2,
    .thm-my-md-2 {
        margin-bottom: calc(0.5 * var(--ast-base-spacing, 24px)) !important;
    }
    .thm-mb-md-3,
    .thm-my-md-3 {
        margin-bottom: var(--ast-base-spacing, 24px) !important;
    }
    .thm-mb-md-4,
    .thm-my-md-4 {
        margin-bottom: calc(2 * var(--ast-base-spacing, 24px)) !important;
    }
    .thm-mb-md-5,
    .thm-my-md-5 {
        margin-bottom: calc(4 * var(--ast-base-spacing, 24px)) !important;
    }
    .thm-ml-md-0,
    .thm-mx-md-0 {
        margin-left: 0 !important;
    }
    .thm-ml-md-1,
    .thm-mx-md-1 {
        margin-left: calc(0.25 * var(--ast-base-spacing, 24px)) !important;
    }
    .thm-ml-md-2,
    .thm-mx-md-2 {
        margin-left: calc(0.5 * var(--ast-base-spacing, 24px)) !important;
    }
    .thm-ml-md-3,
    .thm-mx-md-3 {
        margin-left: var(--ast-base-spacing, 24px) !important;
    }
    .thm-ml-md-4,
    .thm-mx-md-4 {
        margin-left: calc(2 * var(--ast-base-spacing, 24px)) !important;
    }
    .thm-ml-md-5,
    .thm-mx-md-5 {
        margin-left: calc(4 * var(--ast-base-spacing, 24px)) !important;
    }
    .thm-mr-md-0,
    .thm-mx-md-0 {
        margin-right: 0 !important;
    }
    .thm-mr-md-1,
    .thm-mx-md-1 {
        margin-right: calc(0.25 * var(--ast-base-spacing, 24px)) !important;
    }
    .thm-mr-md-2,
    .thm-mx-md-2 {
        margin-right: calc(0.5 * var(--ast-base-spacing, 24px)) !important;
    }
    .thm-mr-md-3,
    .thm-mx-md-3 {
        margin-right: var(--ast-base-spacing, 24px) !important;
    }
    .thm-mr-md-4,
    .thm-mx-md-4 {
        margin-right: calc(2 * var(--ast-base-spacing, 24px)) !important;
    }
    .thm-mr-md-5,
    .thm-mx-md-5 {
        margin-right: calc(4 * var(--ast-base-spacing, 24px)) !important;
    }
}

@media (min-width: 1024px) {
    .thm-mt-lg-0,
    .thm-my-lg-0 {
        margin-top: 0 !important;
    }
    .thm-mt-lg-1,
    .thm-my-lg-1 {
        margin-top: calc(0.25 * var(--ast-base-spacing, 24px)) !important;
    }
    .thm-mt-lg-2,
    .thm-my-lg-2 {
        margin-top: calc(0.5 * var(--ast-base-spacing, 24px)) !important;
    }
    .thm-mt-lg-3,
    .thm-my-lg-3 {
        margin-top: var(--ast-base-spacing, 24px) !important;
    }
    .thm-mt-lg-4,
    .thm-my-lg-4 {
        margin-top: calc(2 * var(--ast-base-spacing, 24px)) !important;
    }
    .thm-mt-lg-5,
    .thm-my-lg-5 {
        margin-top: calc(4 * var(--ast-base-spacing, 24px)) !important;
    }
    .thm-mb-lg-0,
    .thm-my-lg-0 {
        margin-bottom: 0 !important;
    }
    .thm-mb-lg-1,
    .thm-my-lg-1 {
        margin-bottom: calc(0.25 * var(--ast-base-spacing, 24px)) !important;
    }
    .thm-mb-lg-2,
    .thm-my-lg-2 {
        margin-bottom: calc(0.5 * var(--ast-base-spacing, 24px)) !important;
    }
    .thm-mb-lg-3,
    .thm-my-lg-3 {
        margin-bottom: var(--ast-base-spacing, 24px) !important;
    }
    .thm-mb-lg-4,
    .thm-my-lg-4 {
        margin-bottom: calc(2 * var(--ast-base-spacing, 24px)) !important;
    }
    .thm-mb-lg-5,
    .thm-my-lg-5 {
        margin-bottom: calc(4 * var(--ast-base-spacing, 24px)) !important;
    }
    .thm-ml-lg-0,
    .thm-mx-lg-0 {
        margin-left: 0 !important;
    }
    .thm-ml-lg-1,
    .thm-mx-lg-1 {
        margin-left: calc(0.25 * var(--ast-base-spacing, 24px)) !important;
    }
    .thm-ml-lg-2,
    .thm-mx-lg-2 {
        margin-left: calc(0.5 * var(--ast-base-spacing, 24px)) !important;
    }
    .thm-ml-lg-3,
    .thm-mx-lg-3 {
        margin-left: var(--ast-base-spacing, 24px) !important;
    }
    .thm-ml-lg-4,
    .thm-mx-lg-4 {
        margin-left: calc(2 * var(--ast-base-spacing, 24px)) !important;
    }
    .thm-ml-lg-5,
    .thm-mx-lg-5 {
        margin-left: calc(4 * var(--ast-base-spacing, 24px)) !important;
    }
    .thm-mr-lg-0,
    .thm-mx-lg-0 {
        margin-right: 0 !important;
    }
    .thm-mr-lg-1,
    .thm-mx-lg-1 {
        margin-right: calc(0.25 * var(--ast-base-spacing, 24px)) !important;
    }
    .thm-mr-lg-2,
    .thm-mx-lg-2 {
        margin-right: calc(0.5 * var(--ast-base-spacing, 24px)) !important;
    }
    .thm-mr-lg-3,
    .thm-mx-lg-3 {
        margin-right: var(--ast-base-spacing, 24px) !important;
    }
    .thm-mr-lg-4,
    .thm-mx-lg-4 {
        margin-right: calc(2 * var(--ast-base-spacing, 24px)) !important;
    }
    .thm-mr-lg-5,
    .thm-mx-lg-5 {
        margin-right: calc(4 * var(--ast-base-spacing, 24px)) !important;
    }
}


.thm-row {
    display: flex;
    flex-wrap: wrap;
    margin-left: calc(-0.5 * var(--ast-gutter, 24px));
    margin-right: calc(-0.5 * var(--ast-gutter, 24px));
}

.thm-col,
.thm-col-a,
.thm-col-1,
.thm-col-2,
.thm-col-3,
.thm-col-4,
.thm-col-5,
.thm-col-6,
.thm-col-7,
.thm-col-8,
.thm-col-9,
.thm-col-10,
.thm-col-11,
.thm-col-12,
.thm-col-md,
.thm-col-md-a,
.thm-col-md-1,
.thm-col-md-2,
.thm-col-md-3,
.thm-col-md-4,
.thm-col-md-5,
.thm-col-md-6,
.thm-col-md-7,
.thm-col-md-8,
.thm-col-md-9,
.thm-col-md-10,
.thm-col-md-11,
.thm-col-md-12,
.thm-col-lg,
.thm-col-lg-a,
.thm-col-lg-1,
.thm-col-lg-2,
.thm-col-lg-3,
.thm-col-lg-4,
.thm-col-lg-5,
.thm-col-lg-6,
.thm-col-lg-7,
.thm-col-lg-8,
.thm-col-lg-9,
.thm-col-lg-10,
.thm-col-lg-11,
.thm-col-lg-12 {
    flex: 1 0 100%;
    padding-left: calc(0.5 * var(--ast-gutter, 24px));
    padding-right: calc(0.5 * var(--ast-gutter, 24px));
}

.thm-col {
    flex: 1 0 0;
}

.thm-col-a {
    flex: 0 0 auto;
}

.thm-col-1 {
    flex: 0 0 8.33%;
}

.thm-col-2 {
    flex: 0 0 16.66%;
}

.thm-col-3 {
    flex: 0 0 25%;
}

.thm-col-4 {
    flex: 0 0 33.33%;
}

.thm-col-5 {
    flex: 0 0 41.66%;
}

.thm-col-6 {
    flex: 0 0 50%;
}

.thm-col-7 {
    flex: 0 0 58.33%;
}

.thm-col-8 {
    flex: 0 0 66.66%;
}

.thm-col-9 {
    flex: 0 0 75%;
}

.thm-col-10 {
    flex: 0 0 83.33%;
}

.thm-col-11 {
    flex: 0 0 91.66%;
}

.thm-col-12 {
    flex: 0 0 100%;
}

@media (min-width: 768px) {
    .thm-col-md {
        flex: 1 0 0;
    }

    .thm-col-md-a {
        flex: 0 0 auto;
    }
    
    .thm-col-md-1 {
        flex: 0 0 8.33%;
    }
    
    .thm-col-md-2 {
        flex: 0 0 16.66%;
    }
    
    .thm-col-md-3 {
        flex: 0 0 25%;
    }
    
    .thm-col-md-4 {
        flex: 0 0 33.33%;
    }
    
    .thm-col-md-5 {
        flex: 0 0 41.66%;
    }
    
    .thm-col-md-6 {
        flex: 0 0 50%;
    }
    
    .thm-col-md-7 {
        flex: 0 0 58.33%;
    }
    
    .thm-col-md-8 {
        flex: 0 0 66.66%;
    }
    
    .thm-col-md-9 {
        flex: 0 0 75%;
    }
    
    .thm-col-md-10 {
        flex: 0 0 83.33%;
    }
    
    .thm-col-md-11 {
        flex: 0 0 91.66%;
    }
    
    .thm-col-md-12 {
        flex: 0 0 100%;
    }
}

@media (min-width: 1024px) {
    .thm-col-lg {
        flex: 1 0 0;
    }

    .thm-col-lg-a {
        flex: 0 0 auto;
    }
    
    .thm-col-lg-1 {
        flex: 0 0 8.33%;
    }
    
    .thm-col-lg-2 {
        flex: 0 0 16.66%;
    }
    
    .thm-col-lg-3 {
        flex: 0 0 25%;
    }
    
    .thm-col-lg-4 {
        flex: 0 0 33.33%;
    }
    
    .thm-col-lg-5 {
        flex: 0 0 41.66%;
    }
    
    .thm-col-lg-6 {
        flex: 0 0 50%;
    }
    
    .thm-col-lg-7 {
        flex: 0 0 58.33%;
    }
    
    .thm-col-lg-8 {
        flex: 0 0 66.66%;
    }
    
    .thm-col-lg-9 {
        flex: 0 0 75%;
    }
    
    .thm-col-lg-10 {
        flex: 0 0 83.33%;
    }
    
    .thm-col-lg-11 {
        flex: 0 0 91.66%;
    }
    
    .thm-col-lg-12 {
        flex: 0 0 100%;
    }
}