:root {
    --button-color: #FFF;
    --button-background: #7cd4f0;
    --box-shadow: 1px 1px 10px #ddd;
    --border: 1px solid #DDD;
    --color-success: #46b450;
    --color-warning: #ffb900;
    --min-mobile: 599px;
    --theme-max-width: 1200px;
}

@font-face {
    font-family: "Playfair Display";
    src: url("./assets/fonts/PlayfairDisplay-Regular.woff2");
    font-weight: 400;
}

@font-face {
    font-family: "Playfair Display";
    src: url("./assets/fonts/PlayfairDisplay-Bold.woff2");
    font-weight: 700;
}

@font-face {
    font-family: "Quentin";
    src: url("./assets/fonts/Quentin.ttf");
    font-weight: 400;
}

header {
    z-index: 9999 !important;
    position: sticky;
    top: 0;
}

.container {
    max-width: 1200px;
    margin: 0 auto;
}

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

#video-banner {
    > .wp-block-columns {
        flex-direction: column;
    }
}

.col-info {
    text-align: center;

    h2 {
        font-size: 4rem;
    }

    h3 {
        font-size: 9rem !important;
        line-height: 0;
        margin-bottom: 0.5em;
        padding-top: 20px;
    }

    .wp-block-buttons {
        justify-content: center;
    }
}


@media screen and (min-width: 1200px) {
    .col-l {
        padding: 1.25rem 0 1.25rem calc((100% - 1200px) / 2) !important;
    }

    #video-banner {
        > .wp-block-columns {
            flex-direction: row;

            &:first-child {
                > .wp-block-column:first-child {
                    max-width: 600px;
                }
            }
        }

        .reverse-col .wp-block-column {
            &:first-child {
                order: 2;
                position: absolute;
                width: 45%;
                top: 10px;
                right: 10px;
            }

            &:last-child {
                order: 1;
                max-width: 730px;
                text-align: center;
                margin: auto;
            }
        }
    }

    .wp-block-column.featured-image {
        position: relative;

        figure {
            position: absolute;
            bottom: 0;
            top: auto;
            right: 0;
            width: 100%;
            margin-bottom: -4rem;
        }
    }
}

@media screen and (min-width: 1350px) {
    #video-banner {
        .reverse-col .wp-block-column {
            &:first-child {
                top: auto;
                bottom: 0;
                right: 0;
            }

            &:last-child {
                order: 1;
                max-width: 600px;
                text-align: left;
                margin: 0;
            }
        }

    }
}

input[type=submit],
.wp-element-button {
    background-color: var(--button-background);
    padding: 18px 20px 12px 20px;
    border-radius: 8px;
    min-width: 150px;
    color: var(--button-color);
    font-size: 1em;
    border: 0;
    box-sizing: border-box;
    white-space: nowrap;
}

header > div.has-global-padding > div.is-layout-flex .wp-block-column:first-child {
    min-width: 17rem;
}

main {
    margin-top: 0 !important;
    padding-bottom: 4.5rem;

    > div > .wp-block-cover {
        min-height: 70vh !important;
    }

    ul {
        list-style: none;
    }

    ul li {
        margin-bottom: .8rem;
        padding-left: 2rem;
        position: relative;

        &::before {
            content: "\2022";
            color: var(--button-background);
            font-weight: bold;
            display: inline-block;
            width: 1em;
            font-size: 2em;
            line-height: .67em;
            position: absolute;
            top: 0;
            left: 0;
        }
    }

    .wp-block-post-content {
        h1 {
            margin: 0;
        }

        h2 {
            margin-top: .5rem;
        }
    }
}

body .is-layout-constrained .wp-block-columns {
    margin-block-start: 0;
}

.footer-right-logos {
    display: flex;
    align-items: center;

    figure:first-child {
        flex-grow: 1;
    }
}

footer {
    .wp-block-media-text__content h5 {
        margin: 0;
    }

    .copyright-block .wp-block-column:first-child {
        justify-content: flex-end;
        display: flex;
        flex-direction: column;
    }
}

@media only screen and (min-width: 1600px) {

    .copyright-block {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

}

@media only screen and (min-width: 599px) {
    header {

        .wp-block-columns {
            &.is-not-stacked-on-mobile {
                @media only screen and (min-width: 599px) and (max-width: 1000px) {
                    flex-wrap: wrap !important;
                }
            }

            .wp-block-column {
                flex-grow: 1 !important;

                &:last-child,
                &:first-child {
                    flex-grow: 0 !important;
                    flex-basis: fit-content !important;
                    min-width: 10rem;
                }

                &:first-child {
                    @media only screen and (min-width: 599px) and (max-width: 1000px) {
                        flex-grow: 1 !important;
                    }
                }
            }

            .nav-col {
                flex-basis: auto !important;
                @media only screen and (min-width: 599px) and (max-width: 1000px) {
                    order: 9;
                }
            }
        }

        .wp-block-site-logo {

            @media only screen and (max-width: 1060px) {
                max-width: 10rem;
            }
        }
    }
}

.banner-rating {
    padding: 0.5rem 1.5rem;
    background: #484848;
    border-radius: 9999px;

}

form .controller {
    display: flex;
    gap: 1rem;
    justify-content: center;
    margin-bottom: 1rem;

    p {
        margin: 0;
        flex-grow: 1;
    }

    input.wpcf7-text, textarea {
        font-family: "Mazzard H", monospace;
        width: 100%;
        box-sizing: border-box;
        font-size: .9em;
        border-radius: 0.5rem;
        border: 1px solid #a4a4a4;
        padding: 0.8rem 1rem;
        box-shadow: var(--box-shadow);
    }

    .wpcf7-not-valid-tip {
        margin-top: .4rem;
        font-size: .8em;
    }

    .two-cols {
        display: flex;
        gap: 1rem;

        p {
            flex-basis: 50%;
        }
    }

    textarea {
        width: 100%;
        padding: 1rem;
        box-sizing: border-box;
    }
}

.wpcf7-form {
    max-width: 1000px;
    margin: auto;
}

.action {
    position: relative;

    p {
        text-align: center;
    }

    .wpcf7-submit {
        width: 100%;
    }

    .wpcf7-spinner {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
    }
}

.wpcf7 form {
    .wpcf7-response-output {
        margin: 0;
        font-size: .9em;
        padding: 0.4rem 1rem 0.1rem 1rem;
    }

    &.invalid .wpcf7-response-output {
        background: var(--color-warning);
    }

    &.valid, &.sent {
        .wpcf7-response-output {
            background: var(--color-success);
        }
    }
}

.wpcf7-text {
    padding: 10px
}

.service-features {
    &.wp-block-columns {
        overflow-x: scroll;
        overflow-y: hidden;
        padding-bottom: 20px;
    }

    .wp-block-column {
        min-width: 220px;
        background-color: #f4f4f4;
        padding: 20px;
        border-radius: 10px;
        box-shadow: 1px 1px 10px #ddd;
    }

    .wp-block-media-text {
        height: 7.5rem;
        grid-template-columns: 4rem auto !important;

        .wp-block-media-text__content {
            grid-row: auto !important;
            grid-column: auto !important;
            font-size: 1.4em;
            padding: 1rem !important;
            line-height: 1.2;
        }
    }
}

.service-columns {

    .wp-block-column {
        box-shadow: var(--box-shadow);
        display: flex;
        align-items: center;
        padding: 30px 0;

        img {
            height: 8rem;
            width: auto;
        }

        figcaption {
            display: block;
            font-size: 1.3em;
            margin: 2rem 0 0;
        }
    }
}

.reviews {
    .wp-block-column {
        padding: 10px;
        border: 1px dashed #DDD;
    }
}

.brands {
    .wp-block-column {
        padding: 10px;
        border: var(--border);
        text-align: center;
        min-height: 9rem;
        display: flex;
        align-items: center;
        justify-content: center;
        box-shadow: var(--box-shadow);
    }

    img {
        height: 4.5rem;
        width: auto;
    }
}

footer {
    border-top: 1px solid #797979;
    margin: 0 !important;

    ol, ul {
        list-style: none;
        padding: 0;

        li {
            margin-bottom: 1rem;
        }
    }

}


@media only screen and (min-width: 600px) {
    .mobile-only {
        display: none;
    }

    nav a.wp-block-navigation-item__content {
        text-transform: uppercase;
    }
}


@media only screen and (max-width: 599px) {
    .desktop-only {
        display: none;
    }

    header {
        .wp-block-site-logo {
            max-width: 10rem;
        }

        .wp-block-columns {
            .wp-block-column {
                &:first-child {
                    flex-grow: 1 !important;
                    flex-basis: auto !important;
                }

                &:last-child {
                    order: 2;
                    flex-basis: fit-content !important;
                }

                &.nav-col {
                    order: 3;
                    flex-basis: fit-content !important;
                }


                .wp-element-button {
                    padding: 10px 15px 8px !important;
                    min-width: auto !important;
                }
            }
        }
    }

    .wp-block-navigation {
        &__responsive-container {
            display: flex;
            flex-direction: column;
            background-color: inherit;
            padding: 2rem;
            overflow: auto;
            z-index: 100000;
            transition: ease .5s;
            animation: none !important;
            transform: translateX(100%);

            &.is-menu-open {
                transform: translateX(5%);
            }
        }

        &__responsive-dialog {
            margin: 0 !important;
        }

        &__responsive-container-close {
            left: auto;
            right: 1rem;
            top: .5rem;
        }

        &__responsive-container-content {
            padding: 0 !important;
            align-items: flex-start !important;
        }

        &__container {
            align-items: flex-start !important;
            flex-direction: column;

            li:first-child {
                margin-top: -10px;
            }
        }

        .mobile-only.wp-block-site-logo {
            max-width: none;

            .custom-logo-link {
                padding: 0;

                img {
                    width: 14rem;
                }
            }
        }
    }

    form .controller {
        flex-direction: column;
    }


    .service-features {
        .wp-block-column {
            padding: 10px;
        }

        .wp-block-media-text {
            grid-template-columns: 50px auto !important;
        }
    }

    .mobile-reverse-order .wp-block-column {
        &:first-child {
            order: 2;
        }

        &:last-child {
            order: 1;
        }
    }

    .block-content {
        h4 {
            text-align: center;
        }

        .wp-block-buttons {
            justify-content: center;
        }
    }

    footer .wp-block-columns {
        ul {
            font-size: .9em;

            li {
                margin-bottom: .5rem
            }
        }
    }

}

@media only screen and (max-width: 781px) {

    footer {
        > .wp-block-group > .wp-block-group .wp-block-columns {
            display: grid;
            grid-template-columns: auto 8rem;
            gap: 0;

            .wp-block-column {
                &:first-child {
                    grid-row: 3;
                    grid-column: 1 / span 2;
                    padding-top: 2rem;
                }

                &:nth-child(2) {
                    grid-row: 1;
                    grid-column: 1;
                }

                &:nth-child(3) {
                    grid-row: 2;
                    grid-column: 1;
                }

                &:last-child {
                    grid-row: 1 / span 2;
                    grid-column: 2;
                }

                .wp-block-media-text {
                    grid-template-columns: 2.5rem auto !important;
                    margin: 0;
                }
            }
        }

        .wp-block-separator {
            display: none;
        }
    }
}

.wp-block-categories-list {
    display: flex;
    gap: 1rem;
    justify-content: center;

    .cat-item-1 {
        display: none;
    }

    &, li {
        padding: 0;
    }

    li {
        &:before {
            display: none;
        }
    }

    a {
        padding: 10px 15px 9px 15px;
        border-radius: 10px 10px 0 10px;
        border: 1px solid var(--button-background);
        color: var(--button-background);
        text-transform: uppercase;
        text-decoration: none;
        line-height: 1;
        font-size: 12px;

        &[aria-current] {
            color: var(--button-color);
            background: var(--button-background);
        }
    }
}

.wp-block-post-terms__separator {
    display: none;
}


.category {
    h1.wp-block-query-title {
        margin: 2rem auto !important;
    }
}

.wp-block-query {
    ul {
        list-style: none;
        grid-template-columns: repeat(2, 1fr);

        li.wp-block-post {
            &:before {
                display: none;
            }

            padding: 0;

            .wp-block-post-featured-image {
                margin-bottom: .7rem;
            }

            .wp-block-post-title {
                font-size: 1.5rem;
                margin-top: 0.1rem;
            }
            img {
                contain-intrinsic-size: none !important;
            }
        }
    }
}


@media only screen and (min-width: 1000px) {
    .wp-block-query {
        ul {
            grid-template-columns: repeat(3, 1fr);
        }
    }
}

@media only screen and (min-width: 1200px) {
    .wp-block-query {
        ul {
            grid-template-columns: repeat(4, 1fr);
        }
    }
}