/*
Theme Name: Twenty Twenty-Four
Theme URI: https://wordpress.org/themes/twentytwentyfour/
Author: the WordPress team
Author URI: https://wordpress.org
Description: Twenty Twenty-Four is designed to be flexible, versatile and applicable to any website. Its collection of templates and patterns tailor to different needs, such as presenting a business, blogging and writing or showcasing work. A multitude of possibilities open up with just a few adjustments to color and typography. Twenty Twenty-Four comes with style variations and full page designs to help speed up the site building process, is fully compatible with the site editor, and takes advantage of new design tools introduced in WordPress 6.4.
Requires at least: 6.4
Tested up to: 6.6
Requires PHP: 7.0
Version: 1.2
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: twentytwentyfour
Tags: one-column, custom-colors, custom-menu, custom-logo, editor-style, featured-images, full-site-editing, block-patterns, rtl-language-support, sticky-post, threaded-comments, translation-ready, wide-blocks, block-styles, style-variations, accessibility-ready, blog, portfolio, news
*/

* {
    box-sizing: border-box;

}


label {
    display: block;
    line-height: 1.5rem;
    font-weight: 500;
    font-size: .875rem;
    color: #4b5563;
}

input, textarea {
    font-size: 1rem;
    line-height: 1.5rem;
    margin-top: 0.5rem;
    width: 100%;
    appearance: none;
    border-radius: 0.375rem;
    border: 1px solid #e5e7eb;
    background-color: #f9fafb;
    padding: .375rem .75rem;
    color: #111827;
    transition: border-color 0.2s, background-color 0.2s, box-shadow 0.2s;
}

::placeholder {
    color: #9ca3af;
}

input:focus {
    border-color: var(--wp--preset--color--accent);
    background-color: #ffffff;
    outline: none;
    box-shadow: 0 0 0 1px var(--wp--preset--color--accent);
}

@media (min-width: 640px) {
    input {
        font-size: 0.875rem;
    }
}


input[type="submit"] {
    background-color: var(--wp--preset--color--accent);
    border-radius: 4px;
    border-color: var(--wp--preset--color--accent);
    color: var(--wp--preset--color--base);
    font-family: inherit;
    font-size: var(--wp--preset--font-size--small);
    font-style: normal;
    font-weight: 500;
    line-height: inherit;
    padding: 12px 24px;
}

button:focus-visible {
    outline-offset: 2px;
    outline: var(--wp--preset--color--accent) solid 2px;
}

button:hover {
    color: #f1f5f9;
    background-color: var(--wp--preset--color--accent);
}

button:active {
    background-color: var(--wp--preset--color--accent);
    color: #dbeafe;
}

.flex-grow {
    flex-grow: 1;
}

.wpcf7 form .wpcf7-response-output {
    margin-left: 0;
    margin-right: 0;
    margin-top: 1em;
}

.wpcf7-spinner {
    display: none;
}

.wpcf7 form > :last-child {
    margin-bottom: 0;
}

@media only screen and (max-width: 1320px) {
    .mobile-reverse > :first-child {
        order: 2;
    }

    .mobile-reverse > :last-child {
        order: 1;
    }
}

.grecaptcha-badge {
    display: none !important;
}

.wp-block-navigation .wp-block-navigation-item__description {
    display: block;
}

.wp-block-navigation-item__content {
    padding: 12px 16px !important;
}

.wp-block-navigation .has-child .wp-block-navigation__submenu-container {
    width: 100%;
    max-width: 28rem;
}

.wp-block-navigation.items-justified-right .wp-block-navigation__container .has-child .wp-block-navigation__submenu-container {
    left: 0;
    right: auto;
}

a:hover, a:focus {
    text-decoration: none;
    outline: none;
}



.wp-block-navigation-item__content {
    display: flex !important;
    column-gap: 1rem;
    position: relative;
    flex-direction: column;
    font-size: 14px;
    padding: 1rem;
    font-weight: bold;
    color: var(--wp--preset--color--contrast);
    justify-content: center;
    border: 1px solid #fff;
    border-radius: 4px;
    transition: all .3s;
    min-height: 58px;
    line-height: 1.5;
}

.wp-block-navigation-item.current-menu-item .wp-block-navigation-item__content,
.wp-block-navigation-item__content:hover {
    background: #f9fafb;
    text-decoration: none;
    border: 1px solid #eaecf0;
}

:where(.wp-site-blocks) > :last-child {
    margin-block-start: 0;
}

.wp-block-navigation .has-child .wp-block-navigation__submenu-container {
    grid-column-gap: 1rem;
    grid-row-gap: .25rem;
    grid-template-rows: auto;
    grid-template-columns: 1fr 1fr;
    grid-auto-columns: 1fr;
    display: grid;

    max-width: 35rem;
}

header + .entry-content, .wp-site-blocks footer {
    margin-block-start: 0;
    margin-block-end: 0;
}

.entry-content ol {
    list-style-type: decimal;
}



.wp-block-post.has-post-thumbnail .wp-block-cover .wp-block-post-date a::before{
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
}

@media only screen and (min-width: 600px){
    .wp-block-navigation .has-child .wp-block-navigation__submenu-container {
        width: 100vw !important;
    }
    .alternate-position > :nth-child(even) .wp-block-media-text.has-media-on-the-right  .wp-block-media-text__media {
        grid-column: 1;
        grid-row: 1
    }

    .alternate-position > :nth-child(even) .wp-block-media-text.has-media-on-the-right  .wp-block-media-text__content {
        grid-column: 2;
        grid-row: 1
    }

    .alternate-position > :nth-child(even) .wp-block-media-text:not(.has-media-on-the-right)  .wp-block-media-text__media {
        grid-column: 2;
        grid-row: 1
    }

    .alternate-position > :nth-child(even) .wp-block-media-text:not(.has-media-on-the-right)  .wp-block-media-text__content {
        grid-column: 1;
        grid-row: 1
    }

}

.image-sticky-background {
    position: relative;
}

.image-sticky-background::before {
    content: "";
    z-index: 1;
    display: block;
    width: 50%;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    border-top-right-radius: calc((26.4px + 21.6*((100vw - 376px) / 1544)) - .1px);
    border-bottom-right-radius: calc((26.4px + 21.6*((100vw - 376px) / 1544)) - .1px);
    background: linear-gradient(180deg, #ecf8fa 10%, #ffe4d5 40%, #fdf3e7 70%, #fff9e4);
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container{
    width: 100%;

}


.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu {
    position: static !important;
    grid-template-columns: 1fr !important;
    box-shadow: none !important;

}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu >  a {
    width: 100%;
    border: 1px solid var(--wp--preset--color--gray-200) !important;
    border-top-left-radius: 8px;
    border-top-right-radius: 8px;
    background: #f9fafb;
    cursor: none;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu  .wp-block-navigation-submenu {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
    border-top: 0;
    width: 100% !important;
}


.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation.items-justified-center {
    --navigation-layout-justification-setting: flex-start;
    --navigation-layout-justify: flex-start;
    gap: 0.6rem;
}

.icon img, .icon figure{
    height: 68px;
    width: auto;
    aspect-ratio: 1/1;
}