/********** Header ********************************************************************/
.quick-search {border-bottom:1px solid #fff;}
.quick-search .form-control {background:transparent; border:none; box-shadow:none; color:#fff; padding:0px;}
.quick-search .btn {background:transparent !important; border:none; padding:0px;}
.badge {padding: 0.35em 0.45em; font-size: .55em; border-radius: 50%; margin: 0 0 0 -7px;}
.page-id-27 .form-control {  
	margin-bottom: 15px;}

.contact-container {
            max-width: 1000px;
            margin: 2.5rem auto;
            background: #ffffff;
            border-radius: 20px;
            box-shadow: 0 8px 24px rgba(0, 0, 0, 0.05);
            overflow: hidden;
        }
        
        /* Header section */
        .contact-header {
            background: #1a3a4f;
            padding: 2rem 2.5rem;
            color: white;
        }
        
        .contact-header h1 {
            font-size: 2rem;
            font-weight: 600;
            letter-spacing: -0.01em;
            margin: 0;
        }
        
        .contact-header p {
            font-size: 1rem;
            color: #cbdce6;
            margin-top: 0.5rem;
        }
        
        /* Content area */
        .contact-content {
            padding: 2rem 2.5rem;
        }
        
        /* Two column layout */
        .contact-grid {
            display: flex;
            flex-wrap: wrap;
            gap: 2rem;
        }
        
        .contact-info {
            flex: 1.2;
            min-width: 260px;
        }
        
        .contact-hours {
            flex: 0.8;
            min-width: 240px;
        }
        
        /* Company details card */
        .company-card {
            background: #f8fafc;
            border-radius: 16px;
            padding: 1.5rem;
            border: 1px solid #e9edf2;
        }
        
        .company-name {
            font-size: 1.3rem;
            font-weight: 700;
            color: #1a3a4f;
            margin-bottom: 1rem;
            padding-bottom: 0.5rem;
            border-bottom: 2px solid #2c7da0;
            display: inline-block;
        }
        
        .detail-row {
            margin: 1rem 0;
        }
        
        .detail-label {
            font-weight: 600;
            color: #1e4a6e;
            margin-bottom: 0.25rem;
            font-size: 0.85rem;
            text-transform: uppercase;
            letter-spacing: 0.5px;
        }
        
        .detail-value {
            color: #2d3e50;
            font-size: 1rem;
            line-height: 1.5;
        }
        
        .address-block {
            margin-top: 0.25rem;
            line-height: 1.6;
        }
        
        .email-link, .phone-link {
            color: #2c7da0;
            text-decoration: none;
            font-weight: 500;
        }
        
        .email-link:hover, .phone-link:hover {
            text-decoration: underline;
        }
        
        /* Hours card */
        .hours-card {
            background: #f8fafc;
            border-radius: 16px;
            padding: 1.5rem;
            border: 1px solid #e9edf2;
        }
        
        .hours-title {
            font-size: 1.2rem;
            font-weight: 700;
            color: #1a3a4f;
            margin-bottom: 1.2rem;
            padding-bottom: 0.5rem;
            border-bottom: 2px solid #2c7da0;
            display: inline-block;
        }
        
        .hours-list {
            list-style: none;
        }
        
        .hours-list li {
            display: flex;
            justify-content: space-between;
            padding: 0.7rem 0;
            border-bottom: 1px solid #e2e8f0;
        }
        
        .hours-list li:last-child {
            border-bottom: none;
        }
        
        .day {
            font-weight: 500;
            color: #2c3e50;
        }
        
        .time {
            color: #4a627a;
        }
        
        .closed {
            color: #c0392b;
            font-weight: 500;
        }
        
        .response-time {
            background: #e8f4f8;
            border-radius: 12px;
            padding: 0.75rem;
            text-align: center;
            margin-top: 1.2rem;
            font-size: 0.85rem;
            color: #1e4a6e;
            font-weight: 500;
        }
        
        /* Divider */
        .divider {
            height: 1px;
            background: #e2e8f0;
            margin: 1.5rem 0 0 0;
        }
        
        /* Responsive */
        @media (max-width: 700px) {
            .contact-container {
                margin: 1rem;
            }
            .contact-header {
                padding: 1.5rem;
            }
            .contact-content {
                padding: 1.5rem;
            }
            .contact-grid {
                flex-direction: column;
                gap: 1.2rem;
            }
        }



        /* Container class - main wrapper */
        .policy-container {
            max-width: 100%;
            margin: 2rem auto;
            background: #ffffff;
            padding: 2rem 2.5rem;
            font-family: 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
            color: #2c3e50;
            line-height: 1.55;
            border: 1px solid #e9ecef;
            border-radius: 16px;
            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.03);
        }
.policy-container h2:after {
    border-bottom: none;
	 display: block;
    margin: auto;
    margin-bottom: 0px;
    padding-bottom: 0px;  
	width:100%;
}
.policy-container h2{font-size:25px;}
        /* ----- COMMON HEADING CLASSES (reusable) ----- */
        .heading-primary {
            font-size: 2rem;
            font-weight: 700;
            color: #1a3a4f;
            margin-top: 0;
            margin-bottom: 0.5rem;
            letter-spacing: -0.01em;
            border-left: 5px solid #2c7da0;
            padding-left: 1.2rem;
        }

        .heading-secondary {
            font-size: 1.5rem;
            font-weight: 600;
            color: #1e4a6e;
            margin-top: 1.8rem;
            margin-bottom: 0.75rem;
            padding-bottom: 0.3rem;
            border-bottom: 2px solid #e2e8f0;
        }

        .heading-tertiary {
            font-size: 1.25rem;
            font-weight: 600;
            color: #2c5a7a;
            margin-top: 1.4rem;
            margin-bottom: 0.5rem;
        }

        /* ----- COMMON TEXT CLASSES (reusable) ----- */
        .text-body {
            font-size: 1rem;
            color: #2d3e50;
            margin-bottom: 1rem;
            line-height: 1.55;
        }

        .text-meta {
            font-size: 0.85rem;
            color: #5a6e7c;
            margin-bottom: 1.25rem;
            padding-bottom: 0.75rem;
            border-bottom: 1px solid #eef2f5;
        }

        .text-emphasis {
            font-weight: 600;
            color: #1f6390;
        }

        .text-small {
            font-size: 0.9rem;
            color: #4a627a;
        }

        /* ----- COMMON LIST CLASS (reusable) ----- */
        .list-default {
            margin: 0.5rem 0 1.25rem 1.8rem;
            padding-left: 0.25rem;
            list-style-type: disc;
        }

        .list-default li {
            margin-bottom: 0.5rem;
            font-size: 1rem;
            line-height: 1.55;
            color: #2d3e50;
        }

        /* ----- UTILITY / SPACING CLASSES (common) ----- */
        .mt-0 { margin-top: 0; }
        .mb-0 { margin-bottom: 0; }
        .mt-2 { margin-top: 1rem; }
        .mb-2 { margin-bottom: 1rem; }
        .pt-1 { padding-top: 0.5rem; }
        .pb-1 { padding-bottom: 0.5rem; }

        .divider-light {
            border-top: 1px solid #e9edf2;
            margin: 1.25rem 0;
        }

        .notice-box {
            background: #f8fafc;
            padding: 0.75rem 1rem;
            border-left: 3px solid #2c7da0;
            margin: 1rem 0;
            border-radius: 8px;
        }


   /* --------------------------------------------
            IMAGE GALLERY SECTION - FIXED UNIFORM SIZES
            All images now same dimensions (220x180px)
        -------------------------------------------- */
        .image-gallery {
            margin: 2rem 0 1.5rem 0;
        }
        
        .gallery-title {
            font-size: 1.3rem;
            font-weight: 600;
            color: #1e4a6e;
            margin-bottom: 1.25rem;
            text-align: center;
        }
        
        .gallery-grid {
            display: flex;
            flex-wrap: wrap;
            gap: 1.5rem;
            justify-content: center;
        }
        
        .gallery-item {
            flex: 0 0 auto;
            width: 220px;
            background: #f5f7fa;
            border-radius: 16px;
            padding: 1rem 1rem 3rem 1rem;
            text-align: center;
            border: 1px solid #e2e8f0;
            transition: transform 0.2s ease, box-shadow 0.2s ease;
        }
        
        .gallery-item:hover {
            transform: translateY(-4px);
            box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
        }
        
        /* FIXED IMAGE SIZE - all images exactly 200px height, full width of container */
        .gallery-image {
            width: 100%;
            height: 100%;
            object-fit: cover;
            border-radius: 12px;
            margin-bottom: 0.75rem;
            background: #e2e8f0;
            display: block;
        }
        
        .gallery-item p {
            margin: 0.5rem 0 0 0;
            font-size: 0.85rem;
            color: #5a6e7c;
            line-height: 1.4;
        }
        
        /* Story section special styling */
        .story-box {
            background: #fefaf5;
            padding: 1.5rem;
            border-radius: 16px;
            margin: 1.5rem 0;
            border-left: 5px solid #b8860b;
            font-style: normal;
        }
        
        .story-box .text-body {
            margin-bottom: 0.5rem;
        }
        
        /* Divider */
        .divider-light {
            border-top: 1px solid #e9edf2;
            margin: 1.5rem 0;
        }
        
        /* Notice box */
        .notice-box {
            background: #f8fafc;
            padding: 0.75rem 1rem;
            border-left: 3px solid #2c7da0;
            margin: 1rem 0;
            border-radius: 8px;
        }
        
        /* Utility */
        .mt-0 { margin-top: 0; }
        .mb-0 { margin-bottom: 0; }
        .text-center { text-align: center; }
        
        /* Responsive: on smaller screens, allow wrapping with consistent widths */
        @media (max-width: 700px) {
            .policy-container {
                padding: 1.5rem;
            }
            .gallery-item {
                width: calc(50% - 1rem);
                min-width: 160px;
            }
           
        }
        
        @media (max-width: 480px) {
            .gallery-item {
                width: 100%;
                max-width: 260px;
            }
        }

/********** MainBanner **************************************************************************************************/
.carousel-caption,.max-width {bottom:auto; z-index:9;}
.overlay {background:rgba(0,0,0,0.42); z-index:1;}

/********** image hovereffect **************************************************************************************************/
.hovereffect img {position:relative; -webkit-transition: opacity 0.35s, -webkit-transform 0.35s; transition: opacity 0.35s, transform 0.35s; -webkit-transform: translate3d(-10px,0,0); transform: translate3d(-10px,0,0);}
.hovereffect:hover img {opacity: 0.4; filter: alpha(opacity=40); -webkit-transform: translate3d(0,0,0); transform: translate3d(0,0,0);}

.hovereffect h2 {text-transform: uppercase; color: #fff; padding: 0.4em 0; background-color: transparent;}
.hovereffect h2:after {position: absolute; bottom:0; left:0; width:100%; height:2px; background:#fff; content:''; -webkit-transition: -webkit-transform 0.35s; transition: transform 0.35s; -webkit-transform: translate3d(-100%,0,0); transform: translate3d(-100%,0,0);}
.hovereffect:hover h2:after {-webkit-transform: translate3d(0,0,0); transform: translate3d(0,0,0);}

.hovereffect a, .hovereffect p {color: #FFF; font-size:20px; opacity: 0; filter: alpha(opacity=0); -webkit-transition: opacity 0.35s, -webkit-transform 0.35s; transition: opacity 0.35s, transform 0.35s; -webkit-transform: translate3d(100%,0,0); transform: translate3d(100%,0,0);}
.hovereffect:hover a, .hovereffect:hover p {opacity: 1; filter: alpha(opacity=100); -webkit-transform: translate3d(0,0,0); transform: translate3d(0,0,0);}

/********** content ***************************************************************************************************/

#newsletter { background: url(../images/newsbg.jpg) no-repeat center center; background-size:cover; font-size:18px;}
#newsletter .form-control {height:60px;}

/********** Footer ***************************************************************************************************/
#Footer a {color:#fff; padding: 0px;}
#Footer a:hover,#Footer a.active {color:#3c87df;}

.copyright {font-size:12px;}


//	STYLE CSS FOR DROPDOWN-MENU //

.dropdown-menu{
	display:none !important;}
}
.dropdown:hover .dropdown-menu {display: block !important;}

.dropdown-menu{
	
}
.dropdown-menu .menu-item {
	padding:0px;
	white-space:nowrap
}
.dropdown-menu .menu-item .nav-link {
	font-size:18px; //according content
}
.caret:after {display: inline-block; width: 0; height: 0; margin-left: .255em; vertical-align: .255em;  content: ""; border-top: .3em solid; border-right: .3em solid transparent; border-bottom: 0; border-left: .3em solid transparent;}


.breadcrumb {
background-color: transparent !important;
padding: 0px !important;
margin-top: 15px;
font-size: 15px;
padding-bottom: 15px !important;
border-bottom: dashed 1px #c2c2c2;
}
.breadcrumb a{ 
color:#000 !important;
}
.breadcrumb li.active:before{
content: "\00BB";
font-family: "Font Awesome 5 Free";
margin-right: 5px;
margin-left: 5px;
font-weight: 900;
}
input.wpcf7-form-control.has-spinner.wpcf7-submit.btn.btn-primary.px-4.text-white {
    border-top-right-radius: 10px;
    border-bottom-right-radius: 10px;
}

/* ----- BANNER SECTION WITH OVERLAY COLOR - FULLY MOBILE RESPONSIVE ----- */
    .banner {
      width: 100%;
      max-width: 800px;
      margin: 0 auto;
      /* Semi-transparent overlay color (warm cream) */
      background: rgba(255, 248, 240, 0.92);
      border-radius: 24px;
      padding: 1.5rem;
      box-shadow: 0 20px 35px -12px rgba(0, 0, 0, 0.25);
      transition: all 0.2s ease;
		margin-top:10px;
    }

    .banner-grid {
      display: block;  /* simple block layout - perfect for mobile */
      width: 100%;
    }

    .banner-content {
      width: 100%;
      background: transparent;
    }

    /* rating row: flex wrap for mobile */
    .rating-row {
      display: flex;
      align-items: center;
      flex-wrap: wrap;
      gap: 0.6rem;
      margin-bottom: 1rem;
    }

    .stars {
      display: flex;
      gap: 3px;
      flex-shrink: 0;
    }

    .star {
      color: #f5b342;
      font-size: 1.1rem;
      letter-spacing: 1px;
    }

    .review-quote {
      font-weight: 600;
      font-size: 0.95rem;
      color: #1e1b17;
      display: flex;
      flex-wrap: wrap;
      align-items: baseline;
      gap: 0.3rem;
      background: transparent;
      line-height: 1.4;
    }

    .review-quote span:first-child {
      font-style: normal;
    }

    /* inline features: wrap properly on mobile */
    .features-compact {
      display: flex;
      flex-wrap: wrap;
      gap: 0.75rem;
      align-items: center;
      margin-top: 0.5rem;
    }

    .feature-item {
      display: inline-flex;
      align-items: center;
      gap: 5px;
      font-size: 17px;
      font-weight: 500;
      color: #000;
      background: transparent;
      padding: 0;
      white-space: nowrap;
    }

    /* separator that works on mobile (no overflow) */
    .feature-item:not(:last-child)::after {
      content: "•";
      margin-left: 0.6rem;
      color: #c4ab8a;
      font-weight: 400;
    }

    /* remove all backgrounds inside */
    .banner-content,
    .rating-row,
    .features-compact,
    .feature-item,
    .review-quote {
      background: transparent;
    }

    /* ===== MOBILE-SPECIFIC FIXES ===== */
    @media (max-width: 550px) {
      body {
        padding: 0.75rem;
      }
      
      .banner {
        padding: 1rem;
        border-radius: 20px;
      }
      
      .rating-row {
        gap: 0.5rem;
        margin-bottom: 0.75rem;
      }
      
      .stars {
        gap: 2px;
      }
      
      .star {
        font-size: 0.9rem;
      }
      
      .review-quote {
        font-size: 0.85rem;
        width: 100%;  /* full width on very small screens */
      }
      
      .review-quote span:last-child {
        display: inline;
        font-size: 0.75rem;
      }
      
      .features-compact {
        gap: 0.5rem;
        flex-wrap: wrap;
      }
      
      .feature-item {
        font-size: 0.75rem;
        white-space: normal;  /* allow text to wrap if needed */
      }
      
      .feature-item:not(:last-child)::after {
        margin-left: 0.4rem;
      }
    }

    /* extra small devices (below 380px) */
    @media (max-width: 380px) {
      .banner {
        padding: 0.85rem;
      }
      
      .star {
        font-size: 0.8rem;
      }
      
      .review-quote {
        font-size: 0.8rem;
      }
      
      .feature-item {
        font-size: 0.7rem;
      }
      
      .feature-item:not(:last-child)::after {
        display: none;  /* remove dots on very small screens to avoid clutter */
      }
      
      .features-compact {
        gap: 0.65rem;
      }
    }

    /* optional hover effect */
    .banner:hover {
      background: rgba(255, 248, 240, 0.96);
    }