/*
Theme Name: Astra Child
Theme URI: https://wpastra.com/
Template: astra
Author: Brainstorm Force
Author URI: https://wpastra.com/about/?utm_source=theme_preview&utm_medium=author_link&utm_campaign=astra_theme
Description: The Astra WordPress theme is lightning-fast and highly customizable. It has over 1 million downloads and the only theme in the world with 5,700+ five-star reviews! It’s ideal for professional web designers, solopreneurs, small businesses, eCommerce, membership sites and any type of website. It offers special features and templates so it works perfectly with all page builders like Spectra, Elementor, Beaver Builder, etc. Fast performance, clean code, mobile-first design and schema markup are all built-in, making the theme exceptionally SEO-friendly. It’s fully compatible with WooCommerce, SureCart and other eCommerce plugins and comes with lots of store-friendly features and templates. Astra also provides expert support for free users. A dedicated team of fully trained WordPress experts are on hand to help with every aspect of the theme. Try the live demo of Astra: https://zipwp.org/themes/astra/
Tags: custom-menu,custom-logo,entertainment,one-column,two-columns,left-sidebar,e-commerce,right-sidebar,custom-colors,editor-style,featured-images,full-width-template,microformats,post-formats,rtl-language-support,theme-options,threaded-comments,translation-ready,blog
Version: 4.11.2.1749196922
Updated: 2025-06-06 08:02:02

*/



/* ----------------------------Services Detail Page CSS------------------ */
.single-service-wrapper {
    background-color: #ffffff;
}


.service-banner {
    position: relative;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    padding: 80px 20px;
    color: white;
    text-align: center;
    z-index: 1;
    min-height: 400px;
    max-height: 400px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.service-banner::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #0000005c;
    z-index: 0;
}

.service-banner .banner-content {
    position: relative;
    z-index: 1;
}

.banner-content h1 {
    font-size: 72px;
    font-family: inter;
    color: #F3F3F3;
    line-height: 120%;
    letter-spacing: -3%;
    text-align: center;
    font-weight: 700;
}

.banner-content p {
    font-size: 32px;
    font-family: inter;
    color: #F3F3F3;
    line-height: 120%;
    letter-spacing: 0%;
    text-align: center;
    font-weight: 400;
    margin-bottom: 0 !important;
}


/* services content block 1 */
.service-content-block-1 {
    display: flex;
    flex-wrap: wrap;
    align-items: center;

    background-color: #F7F7F7;
    box-shadow: -26px 11px 86px -34px #00000040;
}


.service-content-block-1 .service-img,
.service-content-block-1 .service-text {
    flex: 1 1 50%;
    padding: 20px;
}

/* Default: image on left */
.service-content-block-1:not(.reverse) .service-img {
    order: 0;
}

.service-content-block-1:not(.reverse) .service-text {
    order: 1;
}

/* Reverse: image on right */
.service-content-block-1.reverse .service-img {
    order: 1;
    padding: 0;
}

.service-content-block-1.reverse .service-text {
    order: 0;
}

.service-content-block-1 .service-img {
    flex: 1 1 50%;
    padding: 20px;

}

.service-content-block-1 .service-img img {
    width: 100%;
    border-top-left-radius: 58px;
}

.service-content-block-1 .service_text_heading {
    font-family: inter;
    font-weight: 600;
    font-size: 24px;
    line-height: 120%;
    letter-spacing: 0%;
    color: #900B09;
}

.service-content-block-1 .service_text_description {
    font-family: inter;
    font-weight: 400;
    font-size: 17.91px;
    line-height: 150%;
    letter-spacing: 0%;
    color: #2C2C2C;
}


/* service block 2 */
.service-content-block-2 {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
    /* gap: 40px; */
    padding: 40px 20px 0px 20px;
    background-color: #ffffff;
    margin: 0 auto;
}

.service-content-block-2.reverse {
    flex-direction: row-reverse;
}

.service-content-block-2 .service-img,
.service-content-block-2 .service-text {
    flex: 1 1 50%;
    padding: 20px;
    box-sizing: border-box;
}

.service-content-block-2 .service-img img {
    width: 100%;
    height: auto;
    border-top-right-radius: 46px;
    object-fit: cover;
}

/* Text Styling */
.service-content-block-2 .service-text h2 {
    font-family: Inter;
    font-weight: 700;
    font-size: 24.23px;
    line-height: 150%;
    letter-spacing: 0%;
    color: #47803F;
    margin-bottom: 20px;
}

.service-content-block-2 .service-text div {
    font-family: Inter;
    font-weight: 700;
    font-size: 24.23px;
    line-height: 170%;
    color: #000000;
}



/* Service Packages */
.service-packages {
    padding: 20px 20px 40px 20px;
    display: flex;
    flex-direction: column;
    margin-top: 20px;
}

.service-packages h2 {
    font-family: inter;
    font-weight: 700;
    font-size: 48px;
    line-height: 170%;
    letter-spacing: 0%;
    color: #722323;
}

.service-packages .package-box {
    background-color: #F7F7F7;
    /* box-shadow: -26px 11px 86px -34px #00000040 ; */
    border-radius: 26px;
}

.package-list {
    display: grid;
    /* grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); */
    grid-template-columns: repeat(2, 1fr);
    /* Force 2 equal columns */
    gap: 40px;
}


.service-packages .package-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 20px;
    border-radius: 26px;
}

.package-title {
    font-weight: 700;
    font-size: 24px;
    color: #2C2C2C;
    line-height: 170%;
    letter-spacing: 0%;
    font-family: Inter;
}

.person-limit {
    font-weight: 700;
    font-size: 32px;
    color: #2C2C2C;
    line-height: 170%;
    letter-spacing: 0%;
    font-family: Inter;
}

/* Image */
.package-image img {
    width: 100%;
    height: auto;
    display: block;
}

/* Body */
.package-details {
    font-weight: 600;
    font-size: 20px;
    color: #2C2C2C;
    line-height: 170%;
    letter-spacing: 0%;
    font-family: Inter;
    padding: 20px 30px;
}

.package-details p {
    margin-bottom: 10px !important;
}

.package-description {
    font-weight: 300;
    font-size: 15px;
    color: #2C2C2C;
    line-height: 150%;
    letter-spacing: 0%;
    font-family: Inter;
    padding: 10px 20px;
}

.package-description ul {
    margin-left: 0 !important;
}

/* Services Menu  */
.service_menus_container {
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
    justify-content: space-between;
    align-items: center;
    max-width: 1200px;
    margin: 0 auto;
    background-color: #F7F7F7;
    box-shadow: -26px 11px 86px -34px #00000040;
    ;
}

/* Right-aligned image (default) */
.service_menus.right-img .menu_image {
    order: 2;
}

.service_menus.right-img .menu_content {
    order: 1;
    margin-left: 10px;
}

/* Left-aligned image */
.service_menus.left-img .menu_image {
    order: 1;
}

.service_menus.left-img .menu_content {
    order: 2;
    margin-right: 50px;
}

/* Shared styling */
.service_menus .menu_image img {
    max-width: 100%;
    height: auto;
    border-radius: 0px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
    object-fit: cover;
    border-top-right-radius: 46px;
}

.service_menus .menu_content {
    flex: 1 1 300px;
    max-width: 450px;
}

.service_menus .menu_content h3 {
    font-family: Inter;
    font-weight: 600;
    font-size: 24px;
    line-height: 150%;
    letter-spacing: 0%;
    color: #02542D;
    margin-bottom: 20px;
}

.menu_buttons_group {
    display: flex;
    gap: 10px;
}

.menu_button {
    background: #903737;
    color: #fff;
    padding: 21.68px 28.9px;
    border-radius: 91.52px;
    text-decoration: none;
    font-family: DM Sans;
    font-weight: 700;
    font-size: 19.27px;
    line-height: 21.68px;
    letter-spacing: 0%;
    color: #FFFFFF;
    text-align: center;
    transition: 0.3s ease;
    display: inline-block;
}

.menu_button:hover {
    background: #5e1d1d;
    color: #fff;
}


.service-gallery {
    padding: 40px 20px;
    display: flex;
    flex-direction: column;
    margin: auto;
}

.service-gallery .gallery-title {
    font-family: Inter;
    font-weight: 700;
    font-size: 40px;
    line-height: 170%;
    letter-spacing: 0%;
    text-align: center;
    vertical-align: middle;
    color: #722323;
    margin-bottom: 15px;
}

/* Main layout */
.service-gallery .service-gallery-layout {
    display: flex;
    flex-direction: column;
    width: 100%;
}

/* Large image */
.service-gallery .service-gallery-large img {
    width: 100%;
    max-height: 450px;
    object-fit: cover;
}

/* Thumbnails section */
.service-gallery .service-gallery-thumbs {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 15px;
    margin-top: 20px;
    width: 100%;
}

/* Thumbnail item */
.service-gallery .service-gallery-thumb img {
    width: 100%;
    height: 280px;
    object-fit: cover;
    cursor: pointer;
    transition: transform 0.3s ease;
}

.lb-outerContainer {
    width: 800px !important;
    height: 500px !important;
    max-width: 90vw;
    max-height: 80vh;
}

.lb-container {
    width: 100% !important;
    height: 100% !important;
}

.lb-image {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
}

.image_gallary_btnblock {
    display: flex;
    justify-content: center;
    padding: 0px;
}

.image_gallary_btnblock .btn_img_gallary {
    border-radius: 91.52px;
    padding-top: 21.68px;
    padding-right: 28.9px;
    padding-bottom: 21.68px;
    padding-left: 28.9px;
    background-color: #903737;
    font-family: DM Sans;
    font-weight: 700;
    font-size: 19.27px;
    line-height: 21.68px;
    letter-spacing: 0%;
    text-align: center;
    color: #FFFFFF;
}


.lb-close {
    position: absolute;
    top: 0px;
    right: 15px;
    bottom: auto;
    left: auto;
    background: none;
    font-size: 28px;
    color: white;
    opacity: 1;
    z-index: 9999;
    cursor: pointer;
} 

.lb-data .lb-close{
    width: 25px !important;
    height: 25px !important;
    background: url(https://staging.sonnyacres.com/wp-content/themes/sonnyacres/assets/images/close.png) !important;
}

.lb-nav a.lb-prev{
    background-image: url(https://staging.sonnyacres.com/wp-content/themes/sonnyacres/assets/images/prev.png) !important;

}

.lb-nav a.lb-next{
    background-image: url(https://staging.sonnyacres.com/wp-content/themes/sonnyacres/assets/images/next.png)  !important;

}
/* Services Inquiry Form */

.services_inquiry_section {
    background-color: #900B09CC;
    padding-top: 120px;
    padding-bottom: 120px;
}

.services_inquiry_form_wrapper {
    background-color: #F7F7F7;
    padding: 50px;
    box-shadow: -26px 11px 86px -34px #00000040;

}

.services_form_hr hr {
    border: 1px solid #903737;
    margin-top: 30px;
    margin-bottom: 30px;
}

.services_inquiry_form_wrapper .gform_title {
    color: #722323;
    font-family: Inter;
    font-weight: 700;
    font-style: Bold;
    font-size: 48px;
    line-height: 110%;
    letter-spacing: 0%;
    text-align: center;
    vertical-align: middle;
    margin-bottom: 0px;
}

.services_inquiry_form_wrapper .gform_description {
    font-family: Inter;
    font-weight: 400;
    font-style: Regular;
    font-size: 20px;
    line-height: 170%;
    letter-spacing: 0%;
    text-align: center;
    vertical-align: middle;
    color: #722323;
    margin-bottom: 25px;
}

#gform_confirmation_message_19 {
    color: #fff;
    border: 1px solid white;
    padding: 10px 30px;
}

.services_inquiry_form_wrapper .gfield_label {
    font-family: Inter;
    font-weight: 600;
    font-style: Semi Bold;
    font-size: 15px;
    line-height: 150%;
    letter-spacing: 0%;
    vertical-align: middle;
    color: #2C2C2C;
}

.services_inquiry_form_wrapper .ginput_container input {
    border: 1px solid #B3B3B3 !important;
}

.services_inquiry_form_wrapper ::placeholder {
    font-family: Inter;
    font-weight: 600;
    font-style: Semi Bold;
    font-size: 15px;
    line-height: 150%;
    letter-spacing: 0%;
    vertical-align: middle;
    color: #B3B3B3;
    ;
}

.services_inquiry_form_wrapper input[type="checkbox"]:checked {
    background-color: #000;
    border-color: #000;
}

/* Base custom checkbox */
.services_inquiry_form_wrapper input[type="checkbox"] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width: 20px;
    height: 20px;
    border: 2px solid #000;
    background-color: #fff;
    cursor: pointer;
    position: relative;
    margin-right: 10px;
    vertical-align: middle;
}

/* Checked state — black box with white checkmark */
.services_inquiry_form_wrapper input[type="checkbox"]:checked {
    background-color: #000;
    border-color: #000;
}

/* Draw white checkmark manually */
.services_inquiry_form_wrapper input[type="checkbox"]:checked::after {
    content: '';
    position: absolute;
    left: 6px;
    top: 2px;
    width: 5px;
    height: 10px;
    border: solid #fff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
    pointer-events: none;
}

.services_inquiry_form_wrapper .gfield_required {
    font-family: Inter;
    font-weight: 300;
    font-style: Light;
    font-size: 15px;
    color: #C73232;
    line-height: 150%;
    letter-spacing: 0%;
    vertical-align: middle;
}

.services_inquiry_form_wrapper .gform_required_legend {
    font-family: Inter;
    font-weight: 400;
    font-style: Regular;
    font-size: 15px;
    line-height: 170%;
    letter-spacing: 0%;
    color: #B3B3B3;
}

.services_inquiry_form .gform-footer {
    justify-content: center;
}

.services_inquiry_form #gform_submit_button_19 {
    border-radius: 91.52px;
    padding-top: 21.68px;
    padding-right: 28.9px;
    padding-bottom: 21.68px;
    padding-left: 28.9px;
    background-color: #903737;
    font-family: DM Sans;
    font-weight: 700;
    font-size: 19.27px !important;
    line-height: 21.68px;
    letter-spacing: 0%;
    text-align: center;
    color: #FFFFFF;
}

.services_form_note_bold {
    font-family: Inter;
    font-weight: 600;
    font-style: normal;
    font-size: 20px;
    line-height: 170%;
    letter-spacing: 0%;
    text-align: center;
    vertical-align: middle;
    color: #722323;
}

.sevices_form_notes {
    font-family: Inter;
    font-weight: 400;
    font-style: Italic;
    font-size: 20px;
    line-height: 170%;
    letter-spacing: 0%;
    text-align: center;
    vertical-align: middle;
    color: #722323;
}

.main-hight {
    height: 256px;
}

.mrgn-top {
    margin-top: -220px;
    padding: 0;
    align-items: flex-start;
}

.mrgn-top .service-text {
    padding: 40px 60px;
}

.light-shadow {
    box-shadow: -26px 11px 86px -34px #00000040;
}

section.service_menus.left-img {
    margin-top: 40px;
}

.menu_buttons_group {
    margin-top: 20px;
}

.ast-container.service-gallery {
    margin-top: 40px;
}

.service-content-block-1 .service-img img {
    height: 361px;
    object-fit: cover;
}

.services_inquiry_section {
    margin-top: 60px;
    position: relative;
}

.service_form_notes_block {
    position: absolute;
    left: 50%;
    transform: translate(-50%, -50%);
    bottom: 85px;
}

input#choice_19_21_1 {
    width: 23px;
    height: 23px;
}

.gform-theme--foundation .gform_fields {
    row-gap: 15px !important;
}

#gform_19 input {
    background-color: #f7f7f7 !important;
    box-shadow: none !important;
    font-size: 15px !important;
}

#gform_19 input::placeholder {
    color: #B3B3B3 !important;
    font-weight: 600 !important;

}

#gform_19 label {
    font-size: 15px !important;
    font-weight: 600 !important;
}

input#input_19_14,
input#input_19_15 {
    max-width: 90px;
}

.ginput_container_checkbox {
    padding: 0px 60px !important;
}

.services_inquiry_form #gform_submit_button_19 {
    background-color: #903737 !important;
    color: #FFFFFF !important;
    font-weight: 700 !important;
}

.gf_browser_chrome {
    position: relative;
}

.services_inquiry_form_wrapper .gform_required_legend {
    position: absolute;
    top: 20px;

}

#choice_19_20_1:checked {
    background-color: black !important;
}

#choice_19_21_1:checked {
    background-color: black !important;
}

textarea#input_19_19 {
    background-color: #f7f7f7;
    border: 1px solid #B3B3B3;
}

select#input_19_22 {
    background-color: #f7f7f7;
    border: 1px solid #B3B3B3;
    max-width: 150px;
}

input#choice_19_20_1 {
    width: 23px;
    height: 23px;
}


#gform_19_validation_container {
    padding: 5px;
}

.gfield-choice-input::before {
    display: none;
}

#gform_19_validation_container h2 {
    margin-bottom: 0px;
}

.gform-theme--framework input[type=checkbox]:where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)):checked::before,
.gform-theme--framework input[type=radio]:where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)):checked::before {
    opacity: 0;
}

.services_inquiry_form_wrapper input[type="checkbox"]:checked::after {
    content: '';
    position: absolute;
    top: 40%;
    left: 50%;
    width: 5px;
    height: 10px;
    border: solid #fff;
    border-width: 0 2px 2px 0;
    transform: translate(-50%, -50%) rotate(45deg);
    pointer-events: none;
}

.form-padding-cls_wrapper {
    padding: 50px 50px 90px 50px
}
.lightbox{
	width:fit-content !important;
	left: 50% !important;
    transform: translateX(-50%) !important;
}
.lb-details{
	display:none;
}
.lb-dataContainer{
	width:50px !important;
	position:absolute;
	top:-10px;
	right:-50px;
}
@media(max-width:1200px) {
    .main-hight {
        display: none;
    }

    .mrgn-top {
        margin-top: 50px;
    }
}

@media(max-width:1080px) {
    .service_form_notes_block {
        margin-bottom: 55px;
    }

    .ast-container.service_form_notes_block {
        width: 100%;
    }

    .service-content-block-1.reverse .service-img {
        margin: auto;
    }

    .service_menus_container {
        justify-content: center;
        padding: 70px 20px;
    }

    .service_menus .menu_content h3 {
        text-align: center;
    }

    .service-packages h2 {
        text-align: center;
    }

    .sevices_form_notes {
        width: 90%;
        margin: auto;
    }
}

@media(max-width:768px) {
    .services_form_note_bold {
        font-size: 13px;
    }

    .service_form_notes_block {
        bottom: 145px;
    }

    .sevices_form_notes {
        font-size: 12px;
    }

    .person-limit {
        font-size: 24px;
    }

    .ast-container.service_form_notes_block {
        width: 90%;
        margin: auto;
    }
}

@media(max-width:576px) {
	.lb-dataContainer{
		top: -40px !important;
    	right: -15px !important;
	}
    .service-gallery-large img {
        height: 280px;
    }

    .package-title,
    .person-limit {
        font-size: 18px;
    }

    .banner-content h1 {
        font-size: 40px;
        line-height: 50px
    }

    .banner-content p {
        font-size: 20px;
        line-height: 30px;
    }

    .services_inquiry_form_wrapper .gform_required_legend {
        text-align: center;
        width: 100%;
    }

    .service_form_notes_block {
        bottom: 115px;
    }

    .services_form_note_bold {
        font-size: 13px;
    }

    .services_inquiry_form_wrapper .gform_required_legend {
        left: 50%;
        transform: translateX(-50%);
    }

    .service-packages h2 {
        text-align: center;
    }

    .service-content-block-1.reverse .service-img {
        margin: 0px 20px;
    }

    .ginput_container_checkbox {
        padding: 0px 0px !important;
    }

    .ast-container.service-gallery {
        margin: 0px 20px;
    }

    .menu_buttons_group {
        flex-direction: column;
    }

    .service_menus.left-img .menu_content {
        margin-right: 0;
    }

    section.service_menus.left-img {
        margin: 40px 20px;
    }

    .package-list {
        grid-template-columns: repeat(1, 1fr);
    }

    .package-box.light-shadow {
        margin: 0px 20px;
    }

    .mrgn-top .service-text {
        padding: 30px 20px;
    }

    .site-content .ast-container {
        flex-direction: column;
    }

    .service-gallery .gallery-title {
        font-size: 25px;
    }

    .services_inquiry_form_wrapper .gform_title {
        font-size: 30px;
    }

    .services_inquiry_form_wrapper .gform_description {
        font-size: 17px;
    }
}