/*
 * Theme Name: BA General
 * Theme URI: https://ba-booking.com/ba-general/
 * Author: Booking Algorithms
 * Author URI: https://ba-booking.com/
 * Description: General BA booking theme based on bootstrap 5 and free BA Book Everything plugin
 * Requires at least: 6.0
 * Tested up to: 6.9
 * Requires PHP: 8.1
 * Version: 1.0.0
 * License: GNU GPL v3 or later
 * License URI: https://www.gnu.org/licenses/gpl-3.0.html
 * Text Domain: ba-general
 * Tags: blog, custom-menu, featured-images, threaded-comments, translation-ready, right-sidebar, theme-options, full-width-template
 */

/**************Theme styles begin*************/

/*=============General===============*/

@media (max-width: 1200px) {
    .header .mobile-nav-toggle {
        order: 3;
    }
}

.breadcrumbs span{
    font-size: 0.9rem;
    color: color-mix(in srgb, var(--default-color), transparent 30%);
}

.breadcrumbs span a {
    color: inherit;
    text-decoration: none;
    transition: color 0.3s ease;
}

.breadcrumbs span a:hover {
    color: var(--accent-color);
}

.breadcrumbs .breadcrumb_last {
    color: var(--accent-color);
}

.footer .footer-bottom .credits {
    font-size: 11px;
}

body.home .elementor-element.e-con-full {
    --padding-top: 0px;
    --padding-bottom: 0px;
    --padding-left: 0px;
    --padding-right: 0px;
    --padding-block-start: 0px;
    --padding-block-end: 0px;
    --padding-inline-start: 0px;
    --padding-inline-end: 0px;
}

.wp-post-image{
    max-width: 100%;
}

.image-hero {
    position: relative;
    margin-bottom: 48px;
    border-radius: 20px;
    overflow: hidden;
}

.image-hero img{
    width: 100%;
    height: auto;
    border-radius: 20px;
}

.portfolio .cta-section {
    margin-top: 0;
}

.portfolio.cta.section{
    padding-top: 0;
}

.wpcf7-form{

}


.wpcf7-form .input-group-custom label {
    display: block;
    font-size: 14px;
    font-weight: 600;
    color: var(--heading-color);
    margin-bottom: 10px;
}

.wpcf7-form .input-group-custom .input-wrapper {
    position: relative;
    display: flex;
    align-items: center;
}

.wpcf7-form .input-group-custom .input-wrapper i {
    position: absolute;
    left: 18px;
    font-size: 18px;
    color: color-mix(in srgb, var(--default-color) 50%, transparent);
    transition: color 0.3s ease;
    z-index: 1;
}

.wpcf7-form .input-group-custom .input-wrapper input,
.wpcf7-form .input-group-custom .input-wrapper textarea {
    width: 100%;
    height: 56px;
    padding: 16px 16px 16px 52px;
    font-size: 15px;
    color: var(--default-color);
    background: color-mix(in srgb, var(--default-color) 4%, transparent);
    border: 2px solid transparent;
    border-radius: 14px;
    transition: all 0.3s ease;
}

.wpcf7-form .input-group-custom .input-wrapper input::placeholder,
.wpcf7-form .input-group-custom .input-wrapper textarea::placeholder {
    color: color-mix(in srgb, var(--default-color) 40%, transparent);
}

.wpcf7-form .input-group-custom .input-wrapper input:focus,
.wpcf7-form .input-group-custom .input-wrapper textarea:focus {
    outline: none;
    background: var(--surface-color);
    border-color: var(--accent-color);
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--accent-color) 12%, transparent);
}

.wpcf7-form .input-group-custom .input-wrapper input:focus+i,
.wpcf7-form .input-group-custom .input-wrapper input:focus~i,
.wpcf7-form .input-group-custom .input-wrapper textarea:focus+i,
.wpcf7-form .input-group-custom .input-wrapper textarea:focus~i {
    color: var(--accent-color);
}

.wpcf7-form .input-group-custom .input-wrapper.textarea-wrapper {
    align-items: flex-start;
}

.wpcf7-form .input-group-custom .input-wrapper.textarea-wrapper i {
    top: 18px;
}

.wpcf7-form .input-group-custom .input-wrapper.textarea-wrapper textarea {
    height: auto;
    min-height: 140px;
    resize: vertical;
}

.wpcf7-form .form-actions {
    margin-top: 32px;
}

.wpcf7-form .form-actions .btn-submit, .comment-submit {
    width: 100%;
    height: 56px;
    background: var(--accent-color);
    color: var(--contrast-color);
    border: none;
    border-radius: 14px;
    font-size: 16px;
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    cursor: pointer;
    transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.wpcf7-form .form-actions .btn-submit:hover, .comment-submit:hover {
    background: color-mix(in srgb, var(--accent-color) 85%, #000);
    transform: translateY(-4px);
    box-shadow: 0 12px 32px color-mix(in srgb, var(--accent-color) 40%, transparent);
}

.wpcf7-form .form-actions .btn-submit:hover i {
    transform: translateX(4px);
}

.wpcf7-form .form-actions .btn-submit i {
    font-size: 20px;
    transition: transform 0.3s ease;
}

.wpcf7-form .form-actions .secure-note {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-top: 20px;
}

.wpcf7-form .form-actions .secure-note i {
    font-size: 14px;
    color: color-mix(in srgb, var(--accent-color) 70%, transparent);
}

.wpcf7-form .form-actions .secure-note span {
    font-size: 13px;
    color: color-mix(in srgb, var(--default-color) 50%, transparent);
}

@media (max-width: 768px) {
    .wpcf7-form .input-group-custom .input-wrapper input,
    .wpcf7-form .input-group-custom .input-wrapper textarea {
        height: 52px;
        padding: 14px 14px 14px 48px;
    }

    .wpcf7-form .form-actions .btn-submit {
        height: 52px;
    }
}

@media (max-width: 576px) {
    .wpcf7-form .input-group-custom .input-wrapper input,
    .wpcf7-form .input-group-custom .input-wrapper textarea {
        font-size: 16px;
    }
}

.wpcf7-spinner{
    margin: 0 -24px 0 0;
}

.wpcf7 form.sent .wpcf7-response-output {
    border-color: #46b450;
    border-radius: 12px;
    margin-top: 1em;
}

.wpcf7 form .wpcf7-response-output {
    border-radius: 12px;
}

.update-info {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: color-mix(in srgb, var(--default-color), transparent 40%);
    font-size: 0.875rem;
}

.terms-of-service .terms-body .terms-article {
    border-top: 1px solid color-mix(in srgb, var(--default-color), transparent 92%);
}

.babe_all_items_item_inner img{
    max-width: 100%;
}

.row > .babe_all_items_item {
    width: 33%;
}

@media screen and (max-width: 599px) {
    .row > .babe_all_items_item {
        width: 100%;
    }
}

@media screen and (max-width: 991px) {
    .row > .babe_all_items_item {
        width: 50%;
    }
}

.portfolio .project-card .image-wrapper {
    height: 170px;
}

.hero {
    padding: 20px 0 80px;
}

.hero-image img {
    border-radius: 20px;
    margin-bottom: 24px;
}

.hero .hero-content .hero-headline {
    font-size: 3rem;
    font-weight: 700;
    line-height: 1.1;
    margin-bottom: 24px;
    color: var(--heading-color);
}

.hero .stats-grid .stat-card.stat-card-accent .stat-info .stat-value {
    font-size: 1.5rem;
}

.sidebar section, .sidebar .section {
    margin-bottom: 32px;
    padding: 32px;
    background: var(--surface-color);
    border-radius: 20px;
    color: var(--default-color);
    background-color: var(--surface-color);
    scroll-margin-top: 0;
    overflow: initial;
}

.sidebar h3 {
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 24px;
    padding-bottom: 16px;
    border-bottom: 2px solid
    color-mix(in srgb, var(--default-color) 8%, transparent);
}

.sidebar.sidebar-header h3{
    display: none;
}

.sidebar.sidebar-header section {
    margin-bottom: 0;
    padding: 0;
    border-radius: 0;
    color: var(--default-color);
    background: linear-gradient(145deg, color-mix(in srgb, var(--accent-color), transparent 94%), color-mix(in srgb, var(--accent-color), transparent 98%));
    scroll-margin-top: 0;
    overflow: initial;
}

.about .action-buttons .btn-outline {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 32px;
    background: transparent;
    color: var(--accent-color);
    border: 2px solid
    color-mix(in srgb, var(--accent-color), transparent 50%);
    border-radius: 24px;
    font-weight: 600;
    font-size: 15px;
    text-decoration: none;
    transition: all 0.3s ease;
}

.about .action-buttons .btn-outline:hover {
    border-color: var(--accent-color);
    background: color-mix(in srgb, var(--accent-color), transparent 95%);
}

.action-buttons .btn-main {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 16px 32px;
    background: var(--accent-color);
    color: var(--contrast-color);
    border-radius: 12px;
    font-weight: 600;
    font-size: 15px;
    text-decoration: none;
    transition: all 0.3s ease;
}

.action-buttons .btn-main:hover {
    background:
            color-mix(in srgb, var(--accent-color), #000 15%);
    transform: translateY(-2px);
    box-shadow: 0 12px 28px
    color-mix(in srgb, var(--accent-color), transparent 55%);
}

#search_form_tabs .search_form_tab{
    background: color-mix(in srgb, var(--default-color) 25%, transparent);
}

#search_form_tabs .search_form_tab:hover{
    background: color-mix(in srgb, var(--default-color) 5%, transparent);
}

.sidebar .term_item label{
    padding-left: 10px;
}

.babe_all_items_item {
    padding: 10px 10px 20px;
}

.babe_all_items_item_inner {
    background: var(--surface-color);
    border-radius: 20px;
    padding: 20px;
}

.babe_all_items_item_inner img {
    border-radius: 5px;
}

.accordion-block, .accordion-block .accordion-title,
.block_step_title, .block_step_content {
    background-color: #fff;
}

.comment-form-comment textarea{
    width: 100%;
    padding: 16px;
    font-size: 15px;
    color: var(--default-color);
    border: 2px solid transparent;
    border-radius: 14px;
    transition: all 0.3s ease;
}

.submit_group button, .btn-primary.btn-search, .btn-primary.search_apply_btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--contrast-color);
    font-weight: 600;
    font-size: 15px;
    padding: 16px 32px;
    background: var(--accent-color);
    border-radius: 12px;
    text-decoration: none;
    transition: 0.3s;
}

.submit_group button:hover, .btn-primary.btn-search:hover,
.btn-primary.search_apply_btn:hover {
    transform: translateY(-2px);
    color: var(--contrast-color);
    box-shadow: 0 12px 28px color-mix(in srgb, var(--accent-color), transparent 55%);
    background: color-mix(in srgb, var(--accent-color), #000 15%);
}

.booking_form_submit i{
    padding-right: 10px;
}

.dropdown-item.active, .dropdown-item:active {
    color: var(--bs-dropdown-link-active-color);
    text-decoration: none;
    background-color: color-mix(in srgb, var(--accent-color), #fff 85%);
}

.add_ids_title ul.add_ids_list li.term_item:hover {
    color: #fff;
    background-color: color-mix(in srgb, var(--accent-color), #fff 25%);
}

.cal-cell{
    background-color: #fff;
}

#checkout_form_block{
    background-color: #fff;
    padding: 16px 32px;
    border-radius: 20px;
}

#checkout_form_block h2{
    margin-top: 20px;
}

@media screen and (max-width: 1199px) {
    .table_order_items_details, .table_customer_details {
        width: 100%;
    }
}

#checkout_form_block .table_order_items_details{
    width: 100%;
    background-color: #fff;
}

.table_order_items_details{
    background-color: #fff;
}

.table_customer_details{
    background-color: #fff;
}

.table_customer_details tr{
    border-bottom: 1px solid #dfdfdf;
}

.table_order_items_details > tbody > tr > td, .table_customer_details td{
    padding: 8px;
}

.babe_message_order{
    margin-bottom: 20px;
    border-radius: 10px;
}

.order_item_row_image img{
    border-radius: 10px;
}

section.main-section{
    padding-top: 0;
}

#navmenu_footer_bottom{
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: flex-end;
}

#navmenu_footer_bottom li{
    list-style: none;
}

/** ******************************************************** */

#edd_checkout_cart, #edd_payment_mode_select,
#edd_payment_mode_submit, #edd_checkout_user_info, #edd_cc_address {
    background-color: #fff;
    border-radius: 10px;
}

#edd_cc_fields{
    border-radius: 10px;
}

#edd_cc_address #billing_country{
    padding: 6px;
}

#edd_purchase_receipt, #edd_purchase_receipt_products,
#edd_sl_license_keys,
#edd_user_history,
#edd_sl_license_sites,
#edd_profile_editor_form, #edd-stripe-manage-cards{
    background-color: #fff;
    border-radius: 10px;
    margin-bottom: 20px;
}

#edd_profile_editor_form, #edd-stripe-manage-cards {
    padding: 16px;
}

#edd_profile_editor_form #edd_email, #edd_profile_editor_form #edd_address_country,
#edd_profile_editor_form #edd_display_name{
    padding: 4px;
}

#edd_purchase_receipt th,
#edd_purchase_receipt td,
#edd_purchase_receipt_products th{
    border-bottom: 1px solid #dfdfdf;
}

#edd_sl_license_keys th, #edd_sl_license_sites th, #edd_purchase_receipt th {
    font-weight: 700;
    background: #f5f5f5;
}

#edd_purchase_receipt td, #edd_purchase_receipt th,
#edd_purchase_receipt_products td, #edd_purchase_receipt_products th,
#edd_user_history th, #edd_user_history td,
#edd_sl_license_sites th, #edd_sl_license_sites td,
#edd_sl_license_keys th, #edd_sl_license_keys td{
    padding: 8px 16px;
}

.edd-button, .edd_submit, [type=submit].edd-submit, #print, #edd-vatnum-apply,
.button-primary.button,
.edd-add-to-cart.button,
.edd-submit.button.blue,
#edd-purchase-button{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--contrast-color);
    font-weight: 600;
    font-size: 15px;
    padding: 8px 16px;
    background: var(--accent-color);
    border-radius: 4px;
    border: none;
    text-decoration: none;
    transition: 0.3s;
}

.edd-button:hover, .edd_submit:hover, #print:hover, #edd-vatnum-apply:hover,
.button-primary.button:hover,
.edd-add-to-cart.button:hover,
.edd-submit.button.blue:hover,
#edd-purchase-button:hover{
    transform: translateY(-2px);
    color: var(--contrast-color);
    box-shadow: 0 12px 28px color-mix(in srgb, var(--accent-color), transparent 55%);
    background: color-mix(in srgb, var(--accent-color), #000 15%);
}

input, select{
    border: 1px solid #aaa;
    padding: 4px 8px;
}

.edd_download{
    padding: 16px;
}

.edd_download_inner{
    padding: 20px;
    border-radius: 10px;
    background-color: #fff;
}

.edd_download_inner .edd_download_title{
    font-size: 24px;
    margin: 10px 0 15px 0;
}

.edd_download_inner .edd_download_excerpt{
    font-size: 14px;
}

/* Gallery */

.gallery {
    margin-right: -1rem;
    margin-left: -1rem;

    figure {
        margin: 0;
    }
}

.gallery-item div {
    margin: 1rem;
}

.carousel-open {
    height: auto;
}

.gallery {
    display: flex;
    flex-wrap: wrap;
}

.entry-content .gallery {
    margin-bottom: 4rem;
}

.wp-caption-text {
    font-style: italic;
}

.gallery-item {
    width: 100%;

    img {
        margin: 0 auto;
        display: block;
    }

    .gallery-caption {
        margin: 0.5rem 0 2rem 0;
        text-align: center;
    }
}

.gallery-item a {
    display: block;
}

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

    .gallery .gallery-item {
        width: 33.333333333%;
    }

    .gallery.gallery-columns-2 .gallery-item {
        width: 50%;
    }

    .gallery.gallery-columns-3 .gallery-item {
        width: 33.333333333%;
    }

    .gallery.gallery-columns-4 .gallery-item {
        width: 25%;
    }
}

@media only screen and (min-width: 992px) {
    .page-template-slim #main {
        width: 66.667%;
        margin: 0 auto;
    }
}

@media only screen and (max-width: 991px) {
    .edd_download_columns_3 .edd_download {
        width: 50%;
    }
    .edd_download_columns_3 .edd_download:nth-child(2n+1) {
        clear: left;
    }
    .edd_download_columns_3 .edd_download:nth-child(3n+1) {
        clear: none;
    }
}

@media only screen and (max-width: 768px) {
    .edd_download_columns_3 .edd_download {
        width: 100%;
    }
}

#edd_login_form fieldset,
#edd_register_form fieldset {
    border: 2px solid #f4f4f4;
    background: #fcfcfc;
    padding: 2rem;
}
#edd_login_form fieldset .row div,
#edd_register_form fieldset .row div {
    padding: 0;
}
#edd_login_form legend,
#edd_register_form legend {
    display: none;
}

.edd_form{
    margin-bottom: 1rem;
}

.edd_form label {
    text-align: left;
    display: block;
    margin-bottom: .5rem;
    cursor: pointer;
}

.edd_form input[type=text], .edd_form input[type=email], .edd_form input[type=password] {
    width: 100%;
    padding: .8125rem;
    color: #696969;
    background: #fff;
    border: 2px solid #f5f5f5;
    border-radius: 0;
}

.edd-select {
    padding: .8125rem;
    border: 2px solid #f5f5f5;
    color: #696969;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 1.1rem;
    line-height: 1.5rem;
}

@media (max-width: 1199px) {
    .admin-bar.mobile-nav-active .mobile-nav-toggle {
        color: var(--nav-color);
    }
}

