/*
Theme Name: Town and Country
Theme URI: https://wordpress.org/themes/twentytwentyfour/
Author: the WordPress team
Author URI: https://wordpress.org
Description: Town and Country 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. Town and Country 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.5
Requires PHP: 7.0
Version: 1.1
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: townandcountry
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
*/

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
font,
ins,
kbd,
q,
s,
samp,
small,
strike,
sub,
sup,
tt,
var,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td {
    border: 0;
    font-style: inherit;
    font-weight: inherit;
    margin: 0;
    outline: 0;
    padding: 0;
    vertical-align: baseline;
}

html {
    margin: 0 !important;
}

:focus {
    outline: 0;
}

ol,
ul {
    list-style-type: none;
    margin: 0px;
}

li {
    margin: 0px;
}

table {
    border-collapse: separate;
    border-spacing: 0;
}

caption,
th,
td {
    font-weight: normal;
    text-align: left;
}

strong {
    font-weight: bold;
}

a img {
    border: 0;
}

img {
    max-width: 100%;
    border: 0 none;
    height: auto;
    vertical-align: middle;
}

.display-block {
    display: block;
}

body {
    padding: 0;
    margin: 0px;
    color: #000;
    font-family: "Open Sans", sans-serif !important;
    background: #fff;
    overflow-x: hidden;
}

button {
    cursor: pointer;
}

h1,
h2,
h3,
h4,
h5,
h6,
p {
    clear: both;
    padding: 0;
    margin: 0;
    font-family: "Open Sans", sans-serif;
}

h3 {
    color: #505E85;
    font-size: 22px;
    font-weight: 600;
    line-height: 29.96px;
}

p {
    clear: both;
    padding: 0 0 12px 0;
    margin: 0;
    color: #000;
    font-size: 15px;
    line-height: 21px;
}

a {
    color: #000;
}

p a:hover,
a,
a:hover {
    text-decoration: none;
    color: #31333f;
}

h1 {
    font-size: 33px;
    font-weight: 100;
}

iframe {
    max-width: 100%;
}

::-webkit-input-placeholder {
    color: #7a7a7a;
}

::-moz-placeholder {
    color: #7a7a7a;
    opacity: 1;
}

:-ms-input-placeholder {
    color: #7a7a7a;
    opacity: 1;
}

:-moz-placeholder {
    color: #7a7a7a;
    opacity: 1;
}

.container {
    max-width: 1230px;
}

.container-sm {
    max-width: 590px;
}

.btn.focus,
.btn:focus {
    box-shadow: none;
}

.btn:hover {
    opacity: 0.9;
}

.btn-custom {
    background: #CC2229;
    color: #fff;
    font-size: 15px;
    border-radius: 40px;
    padding: 12px 35px;
    letter-spacing: 1px;
    display: inline-block;
    border: none;
    text-align: center;
    box-shadow: 0px 10px 10px 0px #FF384A26;
}

.btn-custom:hover {
    background: #505E85;
    color: #fff;
}


/*------------------------------------*\

         Custom Css Start

\*------------------------------------*/
.marbled{
    background: url(../../assets/images/aboutBannerBg.jpg) repeat;
    background-size: cover;
    /* padding: 40px 0; */
}
.header-number {
    background: #ECEEF3;
    text-align: center;
    font-size: 20px;
    font-weight: 700;
    line-height: 28px;
    display: block;
    padding: 10px 0;
}

.header-main {
    position: relative;
    padding: 18px 0 18px 0;
}

.header-center {
    padding: 0 12px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.logo img {
    width: 220px;
}

.featured {
    background: #505E85;
    padding: 39px 0px;
}

.banner-txt {
    padding: 0px 0 0 32px;
}

.banner-txt h1 {
    font-size: 48px;
    font-weight: 400;
    color: #fff;
    padding: 0 0 25px 0;
    line-height: 68px;
}

.banner-txt span {
    font-weight: 800;
    display: block;
}

.banner-txt .btn-custom:hover {
    background: #000;
}

.booking-section {
    padding: 130px 0 80px 0;
}

.booking-bg-frame {
    border: 4px solid #505E85;
    border-radius: 30px;
    padding: 65px 30px 30px 30px;
    position: relative;
}

.immidiate-contact {
    position: absolute;
    right: 50px;
    top: -56px;
    border: 4px solid #505E85;
    border-radius: 20px;
    background: #fff;
    padding: 16px 30px;
}

.immidiate-contact .btn-custom {
    display: flex;
    font-size: 20px;
    letter-spacing: 0;
    font-weight: 800;
    padding: 8px 54px 8px 34px;
}

.immidiate-contact .btn-custom img {
    margin-right: 15px;
}

.immidiate-contact .btn-custom span {
    display: block;
    font-size: 14px;
    font-weight: 400;
}

.booking-option {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
    margin-bottom: 30px;
}

.booking-option select {
    background: #ECEEF3 url(../../assets/images/down-arrow-black.svg) no-repeat calc(100% - 20px) center;
    border: none;
    font-size: 16px;
    color: #000;
    padding: 10px 40px 10px 17px;
    border-radius: 8px;
    appearance: none;
    -webkit-appearance: none;
    width: 100%;
}

.booking-option select:hover,
.booking-option select:active {
    background: #505E85 url(../../assets/images/down-arrow-white.svg) no-repeat calc(100% - 20px) center;
    color: #fff;
}

.booking-bg-frame label {
    font-size: 16px;
}

.booking-bg-frame .form-check {
    padding-left: 0;
    padding-right: 78px;
    margin-left: 0;
}

.booking-bg-frame input[type="radio"] {
    margin: 0px 0 0 10px;
    float: right;
    width: 24px;
    height: 24px;
    border: 2px solid #505E85;
}

.booking-bg-frame .form-check-input:checked {
    background-color: #505E85;
    border-color: #505E85;
}

.booking-bg-frame textarea {
    width: 100%;
    border: 1px solid #505E85;
    resize: none;
    height: 114px;
    padding: 15px;
}

.title {
    font-size: 30px;
    font-weight: 600;
    line-height: 40.85px;
    color: #505E85;
}

.title span {
    display: flex;
    align-items: center;
    gap: 20px;
}

.title span::before,
.title span::after {
    content: "";
    width: 34px;
    height: 2px;
    display: inline-block;
    background: #505E85;
}

.our-service .col-md-3 a {
    color: #CC2229;
    font-size: 15px;
    font-weight: 700;
    line-height: 20.43px;
    text-align: center;
}

.our-service .col-md-3 h3 a {
    color: #505E85;
    font-size: 22px;
    font-weight: 600;
    line-height: 29.96px;
}

.our-service h3 {
    min-height: 60px;
}

.our-service .desc {
    min-height: 120px;
    max-width: 244px;
}

.why-working-section {
    padding: 82px 0;
    background: url(../../assets/images/aboutBannerBg.jpg) repeat-x center center;
    background-size: cover;
    margin-top: 80px;
}

.why-working-section .container {
    max-width: 996px;
}

.mt-6 {
    margin-top: 60px;
}

.pb-7 {
    padding-bottom: 70px;
}

.working-block {
    max-width: 377px;
    text-align: left;
}

.text-md-end .working-block {
    margin-left: auto;
}

.working-block h4 {
    font-size: 20px;
    font-weight: 600;
    line-height: 27.24px;
    color: #505E85;
    margin-bottom: 20px;
}

.radius-5 {
    border-radius: 20px;
}


/* Footer Css Start */

.footer {
    clear: both;
    background: #ECEEF3;
    margin: 100px 0 0 0;
    padding: 50px 0 0 0;
}

.footer .container {
    max-width: 996px;
}

.footer-link {
    padding: 0 0 30px 0;
}

.footer-link h4 {
    font-size: 20px;
    font-weight: 400;
    line-height: 27.24px;
    margin-bottom: 15px;
}

.footer-link ul {
    list-style: none;
    margin: 0px;
    padding: 0px;
}

.footer-link ul li {
    padding: 0 0 10px 0px;
    color: #000;
    font-size: 15px;
}

.footer-link ul li a {
    color: #000;
    font-size: 15px;
}

.footer-link ul li a:hover {
    color: #505E85;
}

.footer-link.contact-link ul li {
    padding: 0 0 15px 0;
}

.copyright {
    background: #ECEEF3;
    padding: 10px 0px;
    text-align: center;
}

.copyright-txt {
    color: #000;
    font-size: 14px;
    padding: 12px 0px;
}


/* Footer Css End */


/* CTA Buttons under banner */

.cta-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    margin-top: 20px;
}

.btn-cta {
    background-color: #CC2229;
    color: #fff;
    padding: 12px 25px;
    border-radius: 30px;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    text-decoration: none;
    transition: all 0.3s ease;
}

.btn-cta:hover {
    background-color: #000;
    color: #fff;
}

.btn-cta i {
    font-size: 16px;
}

.booking-section button {
    padding: 14px 40px;
    background: #CC2229;
    color: #fff;
    border-radius: 40px;
    border: none;
    text-align: center;
    box-shadow: 0px 10px 10px 0px #FF384A26;
    display: flex;
    font-size: 20px;
    letter-spacing: 0;
    font-weight: 800;
}

.booking-section button:hover {
    background: #505E85;
    color: #fff;
}


/* Responsive alignment */

@media (max-width: 767px) {
    .banner-txt {
        text-align: center;
    }
    .cta-buttons {
        justify-content: center;
    }
}


/* About page css Start */

.inner-banner {
    background: url(../../assets/images/aboutBannerBg.jpg) repeat-x center center;
    background-size: cover;
    padding: 40px 0;
}

.inner-banner h2 {
    font-size: 40px;
    line-height: 60px;
    color: #505E85;
    font-weight: 600;
}

.inner-banner p {
    font-size: 15px;
    line-height: 26px;
    margin-bottom: 25px;
}

.inner-banner .banner-txt {
    padding: 0;
    max-width: 606px;
}

.inner-banner .featured-img {
    text-align: right;
}

.qualty-panel {
    /*padding: 66px 0;*/
}

.qualty-panel-inner {
    background: #ECEEF3;
    padding: 62px 0;
}

.qualty-panel-inner h3 {
    font-size: 30px;
    font-weight: 800;
    margin-bottom: 50px;
}

.qualty-panel-inner h3 span {
    color: #000;
    font-weight: 400;
}

.qualty-panel-inner h5 {
    color: #505E85;
    font-weight: 700;
    text-align: center;
    margin-top: 60px;
}

.qualty-panel-inner ul {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 10px;
    font-size: 20px;
    flex-wrap: wrap;
}

.qualty-panel-inner ul li {
    background: url(../../assets/images/disc.png) no-repeat 0 12px;
    padding-left: 15px;
    margin: 10px 40px;
}

.our-mission-culture-flex {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.our-mission-blog {
    width: 49%;
    background: #ECEEF3;
    padding: 35px;
    margin: 14px 0;
}

.our-mission-blog h3 {
    font-size: 24px;
    font-weight: 700;
    color: #000;
}

.our-mission-blog h3 span,
.our-mission-blog h3 a {
    color: #505E85;
}

.our-mission-blog ul {
    margin-left: 10px;
}

.our-mission-blog ul li {
    font-size: 15px;
    font-weight: 400;
    line-height: 20.43px;
    padding-left: 12px;
    background: url(../../assets/images/disc.png) no-repeat 0 8px;
}

.our-mission-blog ul li a {
    color: #505E85;
    font-weight: 700;
}

.our-mission-blog ul.principle-list li {
    background: url(../../assets/images/disc-blue.png) no-repeat 0 8px;
    margin: 10px 0;
}

.help-desk {
    background: #505E85;
    padding: 24px 0;
    color: #fff;
    text-align: center;
    margin-top: 80px;
}

.help-desk h2 {
    color: #ECEEF3;
    font-weight: 700;
    font-size: 30px;
    margin-bottom: 10px;
}

.help-desk h3 {
    font-size: 40px;
    color: #fff;
    margin-bottom: 40px;
    line-height: normal;
}

.help-desk p {
    color: #ECEEF3;
    font-size: 20px;
}
/* About page css End */


/* Service page css start */

.serviceBanner {
    background-image: url(../../assets/images/serviceBg.jpg);
}

.serviceBanner .banner-txt {
    max-width: 350px;
}

.service-tab {
    padding: 40px 0;
    text-align: center;
}

.service-tab .nav-tabs {
    display: flex;
    gap: 2px;
    border: none;
    margin-bottom: 22px;
}

.service-tab .nav-tabs .nav-link {
    border: none;
    background: #ECEEF3;
    border-radius: 0;
    font-size: 20px;
    line-height: 27.24px;
    padding: 16px 16px;
    color: #000;
}

.service-tab .nav-tabs .nav-link.active {
    background: #505E85;
    color: #fff;
}

.service-tab p {
    line-height: 24px;
}

.service-tab p:not(:last-child) {
    padding-bottom: 20px;
}

.appliance-repair {
    padding: 100px 0 0 0;
}

.appliance-repair h3 {
    font-size: 30px;
    margin-bottom: 35px;
    line-height: normal;
}

.appliance-repair p:not(last-child) {
    padding-bottom: 20px;
}

.appliance-list {
    max-width: 466px;
    margin-left: auto;
    background: #505E85;
    border-radius: 30px;
    padding: 40px 50px;
}

.appliance-list h3 {
    color: #fff;
}

.appliance-list ul {
    color: #fff;
    font-size: 22px;
    font-weight: 400;
    line-height: 29.96px;
    text-align: left;
    padding-left: 15px;
    max-width: 250px;
    margin: auto auto 50px auto;
}

.appliance-list ul li {
    padding: 4px 0;
    list-style: disc;
}

.benefits-section {
    background: #ECEEF3;
    padding: 50px 0;
    /*margin-top: 50px;*/
}

.benefits-section ul {
    list-style: disc;
    padding-left: 15px;
}

.benefits-section ul li {
    margin: 12px 0;
}

.about-social {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-top: 30px;
}

.about-social a {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50px;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
}

.about-social a.ab-facebook {
    background: #3b5998;
}

.about-social a.ab-google {
    background: #fff;
}

.ab-facebook img {
    width: 28px;
    filter: brightness(0) invert(1);
}

.ab-google img {
    width: 20px;
}

.footer-social {
    display: flex;
    gap: 10px;
}

.footer-social a {
    width: 28px;
    height: 28px;
    border-radius: 50px;
    background: #505E85;
    padding: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all ease-in-out 0.3s 0s;
}

.footer-social a:hover {
    background: #CC2229;
}

.footer-social a img {
    filter: brightness(0) invert(1);
}


/* Service page css end */

/* Privacy Policy page css start */
.privacy-inner-banner {
            position: relative;
            overflow: hidden;
            height: 360px;
            /* reduce from ~700px */
        }
        
        .privacy-inner-banner img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            /* keeps the image proportional */
            object-position: center;
        }
        
        .privacy-inner-banner .carousel-caption {
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            display: flex;
            align-items: center;
            justify-content: center;
            text-align: center;
            background: rgba(1, 10, 53, .8);
            z-index: 1;
        }
        /* Responsive height adjustments */
        
        @media (max-width: 992px) {
            .privacy-inner-banner {
                height: 300px;
            }
        }
        
        @media (max-width: 576px) {
            .privacy-inner-banner {
                height: 220px;
            }
            .privacy-inner-banner .carousel-caption h1 {
                font-size: 1.5rem;
                line-height: 1.3;
            }
        }
/* Privacy Policy page css End */
.pricing-table {
    padding: 100px 0;
}

.pricing-table-outer {
    max-width: 900px;
    margin: auto;
    padding: 40px;
    box-shadow: 0em 0em 2em 0em rgba(0, 0, 0, 0.43);
}

.content-table {
    border-collapse: collapse;
    border: 1px solid #dddddd;
    margin-bottom: 10px;
}

.content-table tr {
    border-bottom: 1px solid #dddddd;
}

.content-table th {
    background-color: #CC2229;
    color: #ffffff;
    text-align: left;
    font-weight: bold;
}

.content-table th,
.content-table td {
    padding: 12px 15px;
}

.content-table tr th:last-child,
.content-table tr td:last-child {
    text-align: center;
}

.content-table p {
    padding: 0;
}

.content-table tbody tr:nth-of-type(2n) {
    background-color: #f3f3f3;
}

.pricing-table-outer .small {
    line-height: 24px;
    font-style: italic;
}

.more-info a {
    color: #505E85;
    text-decoration: underline
}

.more-info a:hover {
    color: #CC2229;
    text-decoration: none
}

.pricing-table-outer h5 {
    color: #505E85;
    font-weight: 600;
}


/*Form Css*/

#exampleModalCenter textarea {
    height: 100px;
    resize: none;
}

#exampleModalCenter p label {
    width: 100%;
}

#exampleModalCenter form p label span input,
#exampleModalCenter form p label span textarea {
    margin-top: 5px;
}

.special-content {
    margin: 100px 0 0 0;
}

.special-content h1 {
    font-weight: 700;
    color: #CC2229;
    text-transform: capitalize;
    margin-bottom: 20px;
}

.special-content-inner {
    background: #ECEEF3;
    padding: 62px;
    position: relative;
    border-radius: 0 50px 50px 50px;
}

.special-content p {
    font-size: 18px;
    line-height: 32px;
    color: #505E85;
    font-style: italic;
    position: relative;
    z-index: 1;
    padding: 0;
}

.special-content p:not(:last-child) {
    padding: 0 0 20px 0;
}

.header-special {
    background: #CC2229;
    text-align: center;
    font-size: 16px;
    font-weight: 700;
    line-height: normal;
    display: block;
    padding: 7px 15px;
    color: #fff;
}

.header-special a {
    text-decoration: underline;
    color: #fff;
}

.header-special a:hover {
    text-decoration: none;
}


/* Homepage Map Section CSS Start */

.map-section {
    background-color: #ECEEF3;
}

.map-section .title span::before {
    display: none;
}

.map-section .col-lg-10 a {
    color: #CC2229;
    font-size: 15px;
    font-weight: 700;
    line-height: 20.43px;
    text-align: center;
    border-bottom: 2px solid #505E85;
}

.map-section .map-section-tabbing {
    -webkit-box-shadow: 0 12px 24px rgba(162, 189, 210, .64);
    box-shadow: 0 12px 24px rgba(162, 189, 210, .64);
}


/*.map-section-tabbing .nav-tabs {*/


/*    border-bottom: 1px solid #dee2e6;*/


/*}*/


/*.map-section-tabbing .nav-tabs .nav-link.active {*/


/*    background: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#fff));*/


/*    background: linear-gradient(180deg, #dbdfec 0, #fff7f863 100%);*/


/*    border-color: #505E85 #CC2229 #505E85;*/


/*    padding: .8rem;*/


/*    text-align: left;*/


/*    font-weight: 700;*/


/*}*/


/*.map-section-tabbing .nav-justified .nav-item, .map-section-tabbing .nav-justified>.nav-link {*/


/*    -ms-flex-preferred-size: 0;*/


/*    flex-basis: 0;*/


/*    -webkit-box-flex: 1;*/


/*    -ms-flex-positive: 1;*/


/*    flex-grow: 1;*/


/*    text-align: center;*/


/*}*/

.map-tab-block {
    display: flex;
    align-items: center;
    vertical-align: middle;
    justify-content: center;
    text-align: center;
    position: relative;
}

.map-tab-block .col-md-8 {
    padding-right: 0px;
}

.map-section-tabbing .map-inner-tab-block {
    background-repeat: no-repeat;
    background-position: 90% 50%;
    background-size: cover;
}

.tab-content>.active {
    display: block;
    transition: opacity .15s linear;
}

.map-section-tabbing .map-inner-tab-block .map-serving-heading {
    font-family: inherit;
    font-size: 28px;
    font-weight: 700;
    text-transform: capitalize;
    line-height: 28px;
    letter-spacing: default;
    color: #505E85;
}

.map-section-tabbing .map-inner-tab-block .map-serving-heading::after {
    content: "";
    width: 100px;
    height: 1px;
    border-bottom: 1px solid #CC2229;
    display: block;
    text-align: center;
    right: 50%;
    left: 38%;
    position: absolute;
    padding-top: 12px;
}