/*
* Theme Customization
* Override index.css file
*/
:root {
    --mz-color-gray: #E5E5E5;
    --mz-color-white: #FFFFFF;
}

.ct-container.ct-container-wide {
    max-width: 100%;
    padding-top: 10px;
    padding-bottom: 10px;
}

/*
* Mobile Only
* Global
*/
.mz-mobile-only {
    display: none;
}

@media (max-width: 768px) {
    .mz-mobile-only {
        display: block;
    }
}

/* 
* Header 
* Location: Sitewide
*/
#ct-header {
    border-bottom: 0;

    .ct-header-container,
    .ct-container-wide {
        max-width: 100%;
        padding-top: 10px;
        padding-bottom: 10px;
    }

    .ct-header-container {
        .ct-header-inner-left {
            span#ct-mobile-nav-trigger {
                display: block;
            }
        }
    }

    
    .ct-header-logo-container {
        a.ct-header-logo {
            max-width: 280px;
        }
    }
    
    
    @media (max-width: 768px) {
        .ct-header-logo-container {
            a.ct-header-logo {
                max-width: 220px;
            }
        }
    }    

}

/**
* Nav menu
* Location: Sitewide
*/
#ct-mobile-nav {
    .ct-mobile-nav-main {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        padding: 95px 20px 35px;
        border-color: transparent;

        .ct-close-btn {
            top: 60px;

            .ct-close-btn-inner {
                fill: var(--body-text-color);
                border: none;

                &:hover {
                    background: transparent;
                }
            }
        }

        .misty-nav-links {
            li {
                font-size: 24px;
                font-family: var(--heading-family);
                font-weight: 400;
                margin-bottom: 20px;
            }
        }

        .misty-nav-categories-links {
            li {
                margin-bottom: 10px;

                a {
                    font-size: 16px;
                    line-height: 1.3;
                    font-family: var(--body-family);
                }
            }
        }
    }
}

/**
* Hero Section
* Location: Home
*/
.ct-hero-header.ct-has-cover {
    min-height: 75vh;
    padding-top: 120px;
    padding-bottom: 120px;
    
    .ct-cover-content {

        .ct-hero-title {
            font-size: 44px;
        }

        p.ct-hero-intro-text {
            font-size: 20px;
        }

        a.ct-form-submit.ct-btn {
            background: transparent;
            border: 1px solid var(--body-background-color);
            border-radius: 0;
            font-size: 14px;
            font-family: var(--other-family);
            font-weight: var(--other-weight-medium);
            padding: 8px 20px;
            text-transform: uppercase;

            &:hover {
                background: var(--body-background-color);
                color: var(--body-text-color);
            }
        }

    }

    @media (max-width: 768px) {
        .ct-cover-content {
            .ct-hero-title {
                font-size: 32px;
            }
    
            p.ct-hero-intro-text {
                font-size: 14px;
            }
    
            a.ct-form-submit.ct-btn {
                font-size: 16px;
                font-style: italic;
                text-transform: none;
                font-family: var(--body-family);
                letter-spacing: 1.3px;
            }
    
        }
    }
}

/**
* About Section
* Location: Home
*/
.ct-home-about-wrapper {
    .ct-home-about {
        padding: 60px 0;

        .ct-home-about-left {
            border: none;
            padding: 50px;

            .ct-global-image{
                aspect-ratio: .8/1;
                img {
                    border: none;
                    background-color: transparent;
                }
            }
        }

        .ct-home-about-right {
            gap: 20px;
            padding: 50px;

            h2 {
                font-family: var(--heading-family);
                font-size: 32px;
                font-weight: 400;
                line-height: 1.3;
            }

            p {
                font-size: 20px;
                font-family: var(--body-family);
                line-height: 1.3;
                font-weight: 400;
            }

            .ct-read-more {
                width: 100%;
                text-align: right;

                a {
                    font-family: var(--other-family);
                    color: #000;
                    font-size: 14px;
                    text-decoration: underline;
                    text-transform: uppercase;
                    letter-spacing: 2px;
                    font-weight: 500;
                }
            }
        }
    }

    @media (max-width: 768px) {
        .ct-home-about {
            padding-bottom: 0;

            gap: 10px;
            .ct-home-about-left {
                padding: 20px 60px;
            }
            .ct-home-about-right {
                padding: 40px 2.5%;
                
                h2 {
                    font-size: 24px;
                }
            
                p {
                    font-size: 14px;
                }
            }
        }
        
    }
}

/*
* Home Posts
* Location: Home
*/
.home-main-posts {
    padding-bottom: 40px;
}

/*
* Posts Loop
* Location: Sitewide
*/
.ct-grid-container {
    max-width: 100%;
    padding: 0;
    margin: 0;
    /* padding: 0 2.5%; */

    .ct-post-grid {
        margin: 0 2.5%;

        &::before,
        &::after {
            border: none;
        }

        .post {
            border-right: none;

            &::before,
            &::after {
                border: none;
            }

            .ct-item-inner {
                padding: 40 20px;
                gap: 30px;

                .ct-post-item-image {
                    border: none;

                    .ct-global-image {

                        .visibility-label {
                            border-radius: 0;
                            width: 32px;
                            height: 32px;
                        }
                    }
                }

                .ct-post-item-content {
                    text-align: left;

                    .ct-post-item-tag-and-meta {
                        text-align: left;

                        .ct-tag-pills {
                            a {
                                font-family: var(--other-family);
                                border: 1px solid var(--mz-color-gray);
                                padding: 6px 16px;
                                font-size: 14px;
                                font-weight: 500;
                                text-transform: uppercase;
                                letter-spacing: 2px;
                            }
                        }
                    }

                    .ct-post-item-title {
                        font-family: var(--heading-family);
                        font-size: 26px;
                        font-weight: 400;
                    }

                    .ct-post-item-excerpt {
                        font-family: var(--body-family);
                        font-size: 20px;
                        font-weight: 400;
                    }

                    .ct-post-item-bottom-block {
                        display: flex;
                        justify-content: space-between;

                        font-family: var(--other-family);
                        font-size: 14px;
                        font-weight: 500;
                        line-height: 1.5;
                        text-transform: uppercase;

                        a.ct-read-more-link {
                            text-decoration: underline;
                        }
                    }
                }
            }
        }

    }

    @media (max-width: 768px) {
        .ct-post-grid {
            .post {
                .ct-item-inner {
            
                    .ct-post-item-image {
            
                        .ct-global-image {
            
                            .visibility-label {
                                
                            }
                        }
                    }
            
                    .ct-post-item-content {
            
                        .ct-post-item-title {
                            font-size: 20px;
                        }
            
                        .ct-post-item-excerpt {
                            font-size: 14px;
                        }
            
                        .ct-post-item-bottom-block {
                            font-size: 14px;

                            a.ct-read-more-link {
                                text-transform: none;
                                font-family: var(--body-family);
                                letter-spacing: 1.3px;
                            }
                        }
                    }
                }
            }
        }
    }
}

/**
* Pagination
* Location: Sitewide
*/

.ct-pagination {
    margin: 0 2.5%;
}
@media (min-width: 1024px) {
    .ct-pagination {
        padding: 40px;
        padding-bottom: 0;
    }
}


/*
* Archive Template
*
*/
.ct-archive-hero {
    &.mrz-cover-content-no-image {
        .ct-container {
            margin: 0 2.5%;
            max-width: 100%;
            padding: 0 40px;
        }
    }

    .archive-hero-image {
        border: none;
    }
}

/*
* Post Template
*/
body.post-template {

    .ct-post-main {
        .ct-sub-header {
            .ct-container {
                max-width: var(--post-content-max-w);
                padding-bottom: var(--spacing-8);
                padding-top: var(--spacing-8);
                text-align: center;

                .ct-post-title {
                    font-size: 40px;
                    text-transform: uppercase;
                    font-weight: 400;
                    font-family: var(--heading-family);
                    text-align: center;
                }

                .mz-post-meta {
                    display: flex;
                    justify-content: center;
                    gap:15px;
                    align-items: center;
                    
                    text-transform: uppercase;

                    .post-date {
                        font-family: var(--other-family);
                        font-size: 10px;
                        font-weight: 500;

                        span {
                            margin-left: 5px;
                        }
                    }
                    .ct-post-tags {
                        margin: 0;
                        a {
                            font-family: var(--other-family);
                            font-size: 10px;
                            font-weight: 500;
                            border: 1px solid var(--mz-color-gray);
                            padding: 4px 8px;
                            line-height: 1.3;
                        }
                    }
                }
            }

            .ct-sub-header-image {
                max-width: var(--post-content-max-w);
                text-align: center;
                border: none;
                margin: 0 auto;
                padding: 0 20px;
            }
            
        }

        .ct-post-container {
            &::before {
                border: none;
            }

            .ct-post-content {
                font-family: var(--body-family);
                font-size: 16px;
                font-weight: 400;

                h1, h2, h3, h4, h5, h6 {
                    font-family: var(--body-family);
                    font-weight: 400;
                }

                .ct-members-cta-teaser {
                    position: relative;

                    &::before {
                        content: "";
                        background: #ffffff;
                        background: linear-gradient(0deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0.50) 100%);
                        position: absolute;
                        bottom: 0;
                        left: 0;
                        right: 0;
                        height: 50%;
                        width: 100%;
                        z-index: 1;
                    }
                }
            }

            .ct-members-cta-container {
                .members-cta {
                    border: 1px solid var(--body-text-color);
                    background: var(--body-background-color);
                    
                    padding: 40px 20px;
                    
                    .members-cta-inner {
                        font-family: var(--body-family);
                        margin-top: 0;
                        margin-bottom: 0;
                        color: var(--body-text-color);
                        font-size: 12px;

                        h2 {
                            color: var(--body-text-color);
                            font-family: var(--body-family);
                            font-size: 16px;
                        }

                        .ct-btn {
                            color: var(--body-text-color);
                            background: transparent;
                            border: 1px solid var(--body-text-color);
                            border-radius: 0;
                            font-size: 14px;
                            font-family: var(--other-family);
                            font-weight: var(--other-weight-medium);
                            padding: 8px 20px;
                            text-transform: uppercase;
                            letter-spacing: 1.15px;
                        
                            &:hover {
                                background: var(--body-text-color);
                                color: var(--body-background-color);
                            }
                        }

                        small {
                            a {
                                text-decoration: underline;
                            }
                        }
                    }
                }
            }
        }

        /*
        * Related Posts
        */
        .ct-special-section {
            display: none;
            .ct-border-top {
                border-color: transparent;
                .ct-container {
                    margin: 0;
                    padding: 0;

                    .ct-global-title {
                        text-align: left;
                        margin: 0 25px;
                        padding: 0;
                        padding-bottom: 10px;
                    }
                }
            }

            .ct-grid-container {
                .ct-post-grid {
                    padding: 0 25px 40px;
                    margin: 0;

                    .post {
                        .ct-item-inner {
                            .ct-post-item-content{
                                .ct-post-item-title {
                                    font-family: var(--body-family);
                                }

                                .ct-post-item-bottom-block {
                                    a.ct-read-more-link {
                                        text-transform: uppercase;
                                        font-family: var(--other-family);
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }

    footer#ct-footer {
        margin-top: 0;
    }

    @media (max-width: 768px) {
        .ct-post-main {
            .ct-sub-header {
                .ct-sub-header-content {
                    padding: 40px 20px;

                    .ct-post-title {
                        font-size: 32px;
                        text-transform: none;
                    }
                }

                .ct-sub-header-image {
                    padding: 0;

                    figure {
                        .ct-global-image {
                            aspect-ratio: 30 / 20;
                        }
                    }
                }
            }

            .ct-post-container {
                padding: 40px 25px;

                .ct-post-content {
                    margin-bottom: 0;
                }
            }

            .ct-special-section {
                display: block;
            }
        }
    }

}


/*
* Page Template
*/
.page-template {
    footer#ct-footer {
        margin-top: 0;
    }
}


/*
* Footer
* Location: Sitewide
*/
footer#ct-footer {
    background: var(--mz-color-gray);
    color: #2D2D2D;
    padding-top: 40px;
    padding-bottom: 40px;
    margin-top: 40px;

    .misty-footer-top {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        /* 2 columns on desktop */
        gap: 30px;
        /* Space between items */
        width: 100%;

        h3 {
            font-family: var(--body-family);
            color: #2D2D2D;
            font-size: 20px;
            font-weight: 400;
            line-height: 1.3;
            margin-bottom: 15px;
        }

        ul {
            
            li {
                margin-bottom: 8px;

                a {
                    font-size: 16px;
                    font-weight: 400;
                    line-height: 1.3;
                    color: #2D2D2D;
                }
            }
        }

    }

    .misty-footer-bottom {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 30px;
        width: 100%;
        margin-top: 40px;
        
        .contact-mail {
            text-align: right;
            text-decoration: underline;
        }

        p {
            color: #2D2D2D;
            font-size: 12px;
        }
    }

    @media (max-width: 768px) {
        .misty-footer-top {
            grid-template-columns: 1fr;
            /* 1 column on mobile */
            gap: 30px;

            .categories {
                h3 {
                   margin-bottom: 20px; 
                }
            }
        }
    }
}


