/*
Theme Name: Yovibe
Theme URI: https://alexathemes.net/themes/fse-yovibe-wordpress-theme/
Author: Alexathemes
Author URI: https://alexathemes.net
Description: Yovibe FSE is a beautifully crafted Full Site Editing (FSE) WordPress theme designed for yoga studios, yoga instructors, meditation centers, wellness coaches, fitness trainers, holistic therapists, and mindfulness communities. Built with the latest WordPress block editor, Yovibe FSE empowers you to create a calming, professional, and fully customizable website without writing a single line of code. The theme embraces the flexibility of Full Site Editing, allowing you to customize every section of your website, including headers, footers, templates, and page layouts using the native WordPress Site Editor. Whether you're promoting yoga classes, online meditation sessions, wellness retreats, breathing workshops, or personal coaching services, Yovibe FSE provides all the essential tools to establish a strong online presence. Yovibe FSE is optimized for performance, SEO, accessibility, and modern web standards. Fast loading speeds improve user experience while search engine optimization helps your yoga website rank higher for relevant searches. The theme is fully compatible with popular plugins including WooCommerce, Contact Form 7, and other essential WordPress plugins, making it easy to sell yoga courses, wellness products, memberships, or digital downloads.
Requires at least: 6.8
Tested up to: 7.0
Requires PHP: 8.0
Version: 1.0
License: GNU General Public License
License URI: https://www.gnu.org/licenses/gpl-3.0.en.html
Text Domain: yovibe
Tags: education, blog, e-commerce, one-column, custom-colors, custom-menu, custom-logo, editor-style, featured-images, full-site-editing, block-patterns, rtl-language-support, sticky-post, threaded-comments, right-sidebar

Yovibe is based on Underscores theme(Underscores is distributed under the terms of the GNU GPL v2 or later).
Yovibe WordPress Theme has been created by AlexaThemes(alexathemes.net), 2026.
Yovibe WordPress Theme is released under the terms of GNU GPL
*/

a{
    -webkit-transition: all .2s ease-in-out;
    transition: all .2s ease-in-out;
}

.wp-block-image img{
    vertical-align: middle;
}

a:focus{
	outline: 1px solid var(--wp--preset--color--primary);
}
.pos-relative{
    position: relative;
}

.has-shadow{
    box-shadow: 3px 3px 12px -10px rgba(0, 0, 0, 1)
}

/************************
* Header
************************/
.max-header{
    max-width: 1250px !important;
}

.header-col-first,
.header-col-fourth{
    padding: 10px !important;
}

.header-col-second{
    padding: 10px 30px 10px 10px !important;
}

.header-col-third{
    margin: 10px 10px 10px 30px !important;
}

.wp-block-navigation .wp-block-navigation-item__content:hover,
.wp-block-navigation .wp-block-navigation-item__content:focus,
.wp-block-navigation .current-menu-item > .wp-block-navigation-item__content{
    color: var(--wp--preset--color--primary);
}

/************************
* Sub Heading
************************/
.sub-heading{
    display: table;
    margin: 0 auto;
    padding: 0 15px;
}

.sub-heading:before,
.sub-heading:after {
    position: absolute;
    content: '';
    bottom: 2px;
    width: 10px;
    height: 2px;
    background-color: var(--wp--preset--color--secondary);
}

.sub-heading:before {
    left: 0;
}

.sub-heading:after {
    right: 0;
}

/************************
* Services
************************/
.service-box{
    position: relative;
    margin: 25px 0 !important;
}

.service-box:before,
.service-box:after {
    content: '';
    position: absolute;
    height: 3px;
    width: 0;
    background-color: var(--wp--preset--color--primary);
    z-index: 1;
    -webkit-transition: all 300ms linear 0ms;
    transition: all 300ms linear 0ms;
}

.service-box:before {
    top: 0;
    left: 0;
}

.service-box:after {
    bottom: 0;
    right: 0;
}

.service-box:hover::before,
.service-box:hover::after{
    width: 100%;
    visibility: visible;
    opacity: 1;
}

.service-thumb{
    background-color: var(--wp--preset--color--primary);
    border-radius: 50%;
    padding: 15px;
    margin-top: -70px !important;
    position: relative;
    z-index: 1;
}

/************************
* Classes
************************/
.yoga_classes:before { content:''; position:absolute; bottom:0; left:0; height:0; width:3px; background-color:var(--wp--preset--color--primary); z-index:1; -webkit-transition:all 300ms linear 0ms; transition:all 300ms linear 0ms;}
.yoga_classes:after { content:''; position:absolute; top:0; right:0; height:0; width:3px; background-color:var(--wp--preset--color--primary); z-index:1; -webkit-transition:all 300ms linear 0ms; transition:all 300ms linear 0ms;}

.yoga_classes_inner:before { content:''; position:absolute; top:0; left:0; height:3px; width:0; background-color:var(--wp--preset--color--primary); z-index:1; -webkit-transition:all 300ms linear 0ms; transition:all 300ms linear 0ms;}
.yoga_classes_inner:after { content:''; position:absolute; bottom:0; right:0; height:3px; width:0; background-color:var(--wp--preset--color--primary); z-index:1; -webkit-transition:all 300ms linear 0ms; transition:all 300ms linear 0ms;}

.yoga_classes:hover .yoga_classes_inner:before, .yoga_classes:hover .yoga_classes_inner:after { width:100%; visibility:visible; opacity:1;}

.yoga_classes:hover::before, .yoga_classes:hover::after { height:100%; visibility:visible; opacity:1;}

/************************
* Blog
************************/
.news-content{
    position: relative;
    margin-top: -60px !important;
    z-index: 1;
}

/************************
* Footer
************************/
.footer-widget-title:after{
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    border-radius: 10px;
    height: 2px;
    width: 120px;
    background-color: transparent;
    background: -webkit-linear-gradient(linear, left top, right top, var(--wp--preset--color--primary)), to(transparent);
    background: linear-gradient(to right, var(--wp--preset--color--primary), transparent);
}

.footer-newsletter form{
    position: relative;
}

.footer-newsletter form p{
    margin: 0;
}

.footer-newsletter form input[type="email"]{
    padding-right: 130px;
    color: #ffffff;
}

.footer-newsletter form input[type="submit"]{
    position: absolute;
    right: 1px;
    top: 1px;
    height: 40px;
    width: 120px;
}

.wpcf7-spinner{
    display: none;
}

@media (max-width: 600px) {
	.wp-block-media-text__content {
		padding: 0 !important;
        margin-top: 30px !important;
	}
    .hero-section-with-header .wp-block-cover__inner-container .hero-content{
        top: 75%;
        transform: translateY(-75%);
    }
}
@media (min-width: 600px) {
	.wp-block-media-text.has-media-on-the-right .wp-block-media-text__content {
		padding: 0 5% 0 0;
	}
	.wp-block-media-text.has-media-on-the-left .wp-block-media-text__content {
		padding: 0 0 0 5%;
	}
}

form {
    position: relative;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea,
select {
    width: 100%;
    margin: 0;
    padding: 10px 15px;
    border: 1px solid #ebebeb;
    outline: 0;
    resize: none;
    line-height: 20px;
    background: none;
    color: #606060;
    font-weight: 400;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}
select::-ms-expand {
    display: none; /* hide the default arrow in ie10 and ie11 */
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus,
select:focus {
    border-color: var(--wp--preset--color--primary);
}

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
    -webkit-appearance: button;
    -moz-appearance: button;
    appearance: button;
    cursor: pointer;
    border: none;
    outline: none;
    padding: 12px 20px;
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
    background-color: var(--wp--preset--color--primary);
    color: #ffffff;
}
html input[type="button"],
input[type="reset"],
input[type="submit"] {
    text-align: center;
    letter-spacing: 2px;
}

.wpcf7-form label {
    display: block;
    text-transform: uppercase;
    font-size: 12px;
    margin: 0 0 8px;
    color: #000000;
    font-weight: 700;
}

.form-group {
    margin-bottom: 30px;
}

.form-group p{
    margin: 0;
}

.form-group.half {
    width: 48%;
    margin-right: 4%;
    float: left;
}

.form-group.half.last {
    margin-right: 0;
}

.form-group.third {
    width: 32%;
    margin-right: 2%;
    float: left;
}

.form-group.third.last {
    margin-right: 0;
}


/* --- Block Media Quries
-------------------------------------------------------- */
/* --- > Media Queries
-------------------------------------------------------- */
/* --- > 781px
-------------------------------------------------------- */
@media screen and (max-width:600px){
    .header-col-third{
        margin-left: 10px !important;
    }
}

@media screen and (max-width:999px) {
    .wp-block-navigation__responsive-container,
    .wp-block-navigation__responsive-container .wp-block-navigation__responsive-container-content{
        display: none;
    }

    .wp-block-navigation__responsive-container-close svg,
    .wp-block-navigation__responsive-container-open svg{
        width: 42px;
        height: 42px;
    }
    
    .wp-block-navigation__responsive-container-open svg path{
        fill: var(--wp--preset--color--primary);
    }

    .wp-block-navigation__responsive-container-close svg path{
        fill: var(--wp--preset--color--secondary);
    }

    .wp-block-navigation__responsive-container-close{
        top: 20px;
        right: 20px;        
    }

    .wp-block-navigation__responsive-container-open:not(.always-shown){
        display: block;
    }

    .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
        display: none; 
    }

    .wp-block-navigation:not(.has-background) .wp-block-navigation__responsive-container.is-menu-open{
        background-color: var(--wp--preset--color--primary);
    }

    .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content{
        padding: 1.5em;
    }

    .wp-block-navigation .wp-block-navigation__responsive-container-content ul.wp-block-navigation__container {
        width: 100%;
        gap: 0 !important;
        border-bottom: none;
    }
    .wp-block-navigation .wp-block-navigation__responsive-container-content ul.wp-block-navigation__container li.wp-block-navigation-item {
        width: 100%;
        gap: 0 !important;
        border: none !important;
    }
    .wp-block-navigation .wp-block-navigation__responsive-container-content ul.wp-block-navigation__container li.wp-block-navigation-item a {
        width: calc( 100% - 48px );
        padding: 12px 24px 12px;
        line-height: 30px;
    }

    /*
    * Submenu Css
    */

    .wp-block-navigation .wp-block-navigation__responsive-container-content ul.wp-block-navigation__container li.wp-block-navigation-item .wp-block-navigation__submenu-icon {
        display: block !important;
        margin-left: 15px;
        padding: 3px 10px;
        float: right;
        font-size: 19px;
        line-height: 1;
        position: absolute;
        right: 0;
        top: 0;
        height: 42px;
        width: 42px;
        z-index: 1;
    }
    .wp-block-navigation .wp-block-navigation__responsive-container-content ul.wp-block-navigation__container li.wp-block-navigation-item .wp-block-navigation__submenu-icon svg {
        stroke: var(--wp--preset--color--secondary);
        display: block;
        width: 30px;
        height: 13px;
        margin: 0 !important;
        padding: 0 !important;
    }
    .wp-block-navigation .wp-block-navigation__responsive-container-content ul.wp-block-navigation__container li.wp-block-navigation-item ul.wp-block-navigation__submenu-container {
        width: 100%;
        gap: 0;
        margin: 0;
        padding: 0;
        display: none;
        box-shadow: none;
    }
    .wp-block-navigation .wp-block-navigation__responsive-container-content ul.wp-block-navigation__container li.wp-block-navigation-item ul.wp-block-navigation__submenu-container li.wp-block-navigation-item a {
        padding-left: 35px;
    }
    .wp-block-navigation .wp-block-navigation__responsive-container-content ul.wp-block-navigation__container li.wp-block-navigation-item .wp-block-navigation-submenu__toggle[aria-expanded=true] + ul.wp-block-navigation__submenu-container {
        display: block;
        margin: 0;
        padding: 0;
    }
}