/**
 * Theme Six packaged overrides.
 * Base styles load from this theme6 CSS pack (theme6 stack).
 */

/*
 * One typeface across the theme.
 * theme6.css uses Karla (body) + Frank Ruhl Libre (headings); common.css also
 * injects Source Sans / Montserrat / Open Sans / Poppins into page sections.
 * Force Karla on text elements so sections don’t mix families (icons excluded).
 */
.theme-home-six {
    --theme-font: "Karla", sans-serif;
    font-family: var(--theme-font) !important;
}

.theme-home-six h1,
.theme-home-six h2,
.theme-home-six h3,
.theme-home-six h4,
.theme-home-six h5,
.theme-home-six h6,
.theme-home-six p,
.theme-home-six a,
.theme-home-six li,
.theme-home-six label,
.theme-home-six strong,
.theme-home-six em,
.theme-home-six small,
.theme-home-six button,
.theme-home-six input,
.theme-home-six textarea,
.theme-home-six select,
.theme-home-six .form_control,
.theme-home-six .main-btn,
.theme-home-six .arrow-btn,
.theme-home-six .btn-link,
.theme-home-six .template-btn,
.theme-home-six .section-title,
.theme-home-six .section-title .title,
.theme-home-six .section-title .sub-title,
.theme-home-six .section-title .title-tag,
.theme-home-six .sub-title,
.theme-home-six .title-tag,
.theme-home-six .widget-title,
.theme-home-six .hero-content,
.theme-home-six .hero-content h1,
.theme-home-six .hero-content h4,
.theme-home-six .features-item .content h4,
.theme-home-six .features-item .content p,
.theme-home-six .about-content-box,
.theme-home-six .about-content-box h2,
.theme-home-six .about-content-box p,
.theme-home-six .blog-post-item .title,
.theme-home-six .blog-post-item .title a,
.theme-home-six .testimonial-item,
.theme-home-six .testimonial-item h3,
.theme-home-six .case-item .title,
.theme-home-six .case-item .title a,
.theme-home-six .team-item,
.theme-home-six .team-item .title,
.theme-home-six .newsletter-wrapper-one,
.theme-home-six .newsletter-wrapper-one h2,
.theme-home-six .footer-area,
.theme-home-six .footer-area p,
.theme-home-six .footer-area a,
.theme-home-six .footer-area h4,
.theme-home-six .footer-area h5,
.theme-home-six .footer-area h6,
.theme-home-six .header-area-one,
.theme-home-six .header-area-one a,
.theme-home-six .header-area-one span,
.theme-home-six .header-area-one h5,
.theme-home-six .main-menu a,
.theme-home-six .breadcrumb-section,
.theme-home-six .breadcrumb-section h1,
.theme-home-six .breadcrumb-section h2,
.theme-home-six .breadcrumb-section a,
.theme-home-six .breadcrumb-section span,
.theme-home-six .contact-section,
.theme-home-six .contact-section h2,
.theme-home-six .contact-section h3,
.theme-home-six .contact-section p,
.theme-home-six .contact-section a,
.theme-home-six .contact-section span,
.theme-home-six .contact-section li,
.theme-home-six .contact-form input,
.theme-home-six .contact-form textarea,
.theme-home-six .js-ajax-form-msg {
    font-family: var(--theme-font) !important;
}

/*
 * Homepage team cards: social icons on hover.
 * Overlay stays inside the photo only (name card stacks above).
 */
.theme-home-six .team-item-one {
    position: relative;
}

.theme-home-six .team-item-one .team-img {
    position: relative;
    z-index: 1;
    overflow: hidden;
    width: 100%;
    aspect-ratio: 1 / 1;
}

.theme-home-six .team-item-one .team-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}

.theme-home-six .team-item-one .team-img .team-overlay {
    z-index: 1;
    align-items: center !important;
    justify-content: center !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    background-color: rgba(22, 37, 66, 0.45) !important;
    pointer-events: none;
}

.theme-home-six .team-item-one:hover .team-img .team-overlay,
.theme-home-six .team-item-one:focus-within .team-img .team-overlay {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto;
}

.theme-home-six .team-item-one:hover .team-img .team-overlay .team-social ul.social-link,
.theme-home-six .team-item-one:focus-within .team-img .team-overlay .team-social ul.social-link {
    transform: translateY(0) !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.theme-home-six .team-item-one .team-img .team-overlay .team-social {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.theme-home-six .team-item-one .team-img .team-overlay .team-social ul.social-link {
    display: flex !important;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 6px;
    margin: 0 auto;
    padding: 0;
    list-style: none;
    width: auto;
}

.theme-home-six .team-item-one .team-img .team-overlay .team-social ul.social-link li a {
    color: #fff !important;
    background-color: rgba(22, 37, 66, 0.9) !important;
}

.theme-home-six .team-item-one .team-img .team-overlay .team-social ul.social-link li a:hover {
    background-color: var(--main-color) !important;
    color: #fff !important;
}

/* Name card always above the photo overlay */
.theme-home-six .team-item-one .team-content {
    position: relative;
    z-index: 3;
}

.theme-home-six .team-item-one:hover .team-content,
.theme-home-six .team-item-one:focus-within .team-content {
    margin-top: -50px;
}

@media (hover: none) {
    .theme-home-six .team-item-one .team-img .team-overlay {
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto;
        background-color: rgba(22, 37, 66, 0.4) !important;
    }

    .theme-home-six .team-item-one .team-img .team-overlay .team-social ul.social-link {
        transform: translateY(0) !important;
    }
}

/* Testimonials — dots sit in flow under quote/author (slick defaults are absolute) */
.theme-home-six .testimonial-wrapper-one .testimonial-slider-one .slick-dots {
    position: static;
    margin-top: 40px;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

/* Ring dots: theme styles the li; common.css paints a smaller off-center button fill */
.theme-home-six .testimonial-wrapper-one .testimonial-slider-one .slick-dots li {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    background-color: transparent !important;
}

.theme-home-six .testimonial-wrapper-one .testimonial-slider-one .slick-dots li button,
.theme-home-six .testimonial-wrapper-one .testimonial-slider-one .slick-dots li.slick-active button {
    width: 100%;
    height: 100%;
    padding: 0;
    margin: 0;
    background: #000 !important;
    border: 0;
    border-radius: 50%;
    font-size: 0;
    border: 2px solid #fff;
    line-height: 0;
    text-indent: -9999px;
}

.theme-home-six .testimonial-wrapper-one .testimonial-slider-one .slick-dots li button:before {
    display: none;
}

/* Header contact — keep phone/email on a single line */
.theme-home-six .header-logo-area .site-info .info-list li .info h5,
.theme-home-six .header-logo-area .site-info .info-list li .info h5 a {
    white-space: nowrap;
}

/* Newsletter strip is dark — keep AJAX feedback readable */
.theme-home-six .newsletter-wrapper-one .newsletter-form .js-ajax-form-msg.is-success,
.theme-home-six .newsletter-wrapper-one .newsletter-form .js-ajax-form-msg.is-error {
    color: #fff;
}

.theme-home-six .newsletter-wrapper-one .newsletter-form .js-ajax-form-msg.is-success {
    background: rgba(25, 135, 84, 0.35);
    border-color: rgba(25, 135, 84, 0.55);
}

.theme-home-six .newsletter-wrapper-one .newsletter-form .js-ajax-form-msg.is-error {
    background: rgba(220, 53, 69, 0.35);
    border-color: rgba(220, 53, 69, 0.55);
}

/* Newsletter input — typed text (not only placeholder) should be white */
.theme-home-six .newsletter-wrapper-one .newsletter-form .form_control {
    color: #fff;
    -webkit-text-fill-color: #fff;
    caret-color: #fff;
}

/* Keep AJAX submit loading label on one line; size is locked in ajax-forms.js */
.theme-home-six .js-ajax-form [type="submit"].is-loading {
    white-space: nowrap;
    overflow: hidden;
}

.theme-home-six .js-ajax-form [type="submit"].is-loading .js-ajax-btn-spinner {
    margin: 0;
}

/* Contact page — one icon + stacked values (emails/phones no longer overlap) */
.theme-home-six .contact-section.contact-page .contact-info .contact-info-content ul li > .contact-info-values {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    flex: 1 1 auto;
    min-width: 0;
    line-height: 1.45;
    word-break: break-word;
}

.theme-home-six .contact-section.contact-page .contact-info .contact-info-content ul li > .contact-info-values > a {
    display: inline-block;
    flex: 0 0 auto;
    position: static;
    max-width: 100%;
}

.theme-home-six .contact-section.contact-page .contact-info .contact-info-content ul li.phone > .contact-info-values {
    gap: 2px;
}

.theme-home-six .contact-section.contact-page .contact-info .contact-info-content ul li.phone > .contact-info-values > a {
    font-size: inherit;
    font-weight: inherit;
    color: inherit;
}

/* Footer contact — stack emails/phones; single address block beside one icon */
.theme-home-six .footer-wrapper-one .footer-widget .widget.contact-info-widget .info-widget-content .footer-contact-values {
    display: block;
    line-height: 1.55;
    word-break: break-word;
}

.theme-home-six .footer-wrapper-one .footer-widget .widget.contact-info-widget .info-widget-content .footer-contact-values > a {
    display: block;
    margin: 0 0 6px;
    position: static;
}

.theme-home-six .footer-wrapper-one .footer-widget .widget.contact-info-widget .info-widget-content .footer-contact-values > a:last-child {
    margin-bottom: 0;
}

.theme-home-six .footer-wrapper-one .footer-widget .widget.contact-info-widget .info-widget-content .footer-contact-address {
    display: block;
}

@media (max-width: 768px) {
    .theme-home-six .hero-wrapper-one .single-slider .slider-inner {
        padding: 180px 0 125px;
    }

    .theme-home-six .about-area.pt-130.pb-50 {
        padding-top: 100px;
    }

    .theme-home-six .about-img-box-one {
        min-height: max-content !important;
    }

    .theme-home-six section.service-area.position-relative.light-bg.pt-120.pb-130 {
        padding-top: 80px;
        padding-bottom: 0;
    }

    .theme-home-six section.team-area.pt-120.pb-90 {
        padding-top: 100px;
        padding-bottom: 80px;
    }

    .theme-home-six section.testimonial-area.pt-120.pb-80 {
        padding-top: 100px;
        padding-bottom: 20px;
    }

    .theme-home-six .testimonial-wrapper-one .testimonial-slider-one {
        margin-bottom: 20px;
        padding-left: 0;
    }

    .theme-home-six .testimonial-wrapper-one .testimonial-slider-one .slick-dots {
        margin-top: 28px;
    }

    .theme-home-six section.case-area.pt-260.light-bg.pb-130 {
        padding-top: 100px;
    }
}

/* Equal breadcrumb ">" gaps on detail pages */
.breadcrumb-section .breadcrumb-text ul li {
	margin: 0 !important;
	padding: 0;
}

.breadcrumb-section .breadcrumb-text ul li a {
	padding-right: 0 !important;
	margin-right: 0 !important;
}

.breadcrumb-section .breadcrumb-text ul li a::after {
	content: none !important;
	display: none !important;
}

.breadcrumb-section .breadcrumb-text ul li:not(:last-child)::after {
	content: ">";
	display: inline-block;
	margin: 0 12px;
	position: static;
	transform: none;
	font-weight: 600;
	color: #fff;
}

/* Contact form: side padding on mobile (inputs were flush left/right) */
@media (max-width: 991px) {
	.contact-section.contact-page .contact-form,
	.he11-contact-section .contact-form {
		padding-left: 20px !important;
		padding-right: 20px !important;
	}
}

/* Homepage contact — no inner scroll box; compact mobile layout */
.theme-home-six .contact-area,
.theme-home-six .contact-wrapper-one,
.theme-home-six .contact-wrapper-one .contact-form {
	overflow: visible !important;
	max-height: none !important;
	height: auto !important;
}

@media (max-width: 767px) {
	.theme-home-six .contact-area {
		overflow: visible !important;
	}

	.theme-home-six .contact-wrapper-one {
		padding: 24px 12px 20px !important;
		margin-bottom: -48px !important;
		overflow: visible !important;
		max-height: none !important;
		height: auto !important;
	}

	.theme-home-six .contact-wrapper-one .contact-form {
		overflow: visible !important;
		max-height: none !important;
	}

	.theme-home-six .contact-wrapper-one .contact-form .row {
		margin-left: -6px;
		margin-right: -6px;
	}

	.theme-home-six .contact-wrapper-one .contact-form .row > [class*="col-"] {
		padding-left: 6px;
		padding-right: 6px;
	}

	.theme-home-six .contact-wrapper-one .contact-form .form_group {
		margin-bottom: 0;
	}

	.theme-home-six .contact-wrapper-one .contact-form .form_control {
		height: 42px !important;
		min-height: 42px !important;
		font-size: 15px !important;
		padding: 0 12px !important;
		margin-bottom: 10px !important;
		line-height: 42px !important;
	}

	.theme-home-six .contact-wrapper-one .contact-form textarea.form_control {
		height: 72px !important;
		min-height: 72px !important;
		max-height: none !important;
		padding-top: 10px !important;
		padding-bottom: 10px !important;
		line-height: 1.35 !important;
		overflow: hidden;
		resize: none;
	}

	.theme-home-six .contact-wrapper-one .contact-form .main-btn,
	.theme-home-six .contact-wrapper-one .contact-form .arrow-btn {
		padding: 10px 16px !important;
		margin-top: 0 !important;
		margin-bottom: 0 !important;
		width: 100%;
	}

	.theme-home-six section.case-area.pt-260 {
		padding-top: 80px !important;
	}

	/* Contact page form */
	.theme-home-six .contact-section.contact-page .contact-form {
		padding-top: 24px !important;
		padding-bottom: 24px !important;
		overflow: visible !important;
		max-height: none !important;
	}

	.theme-home-six .contact-section.contact-page .contact-form .mb-30 {
		margin-bottom: 10px !important;
	}

	.theme-home-six .contact-section.contact-page .contact-form .input-group input {
		height: 42px !important;
		line-height: 42px !important;
	}

	.theme-home-six .contact-section.contact-page .contact-form textarea {
		height: 90px !important;
		min-height: 90px !important;
		padding-top: 10px !important;
	}

	.theme-home-six .contact-section.contact-page.section-gap {
		padding-top: 28px !important;
		padding-bottom: 32px !important;
	}
}


/* Contact page — phone / email / address same size & color */
.contact-section.contact-page .contact-info .contact-info-content ul li,
.contact-section.contact-page .contact-info .contact-info-content ul li a,
.contact-section.contact-page .contact-info .contact-info-content ul li > span,
.contact-section.contact-page .contact-info .contact-info-content ul li .contact-info-address,
.contact-section.contact-page .contact-info .contact-info-content ul li .contact-info-values,
.contact-section.contact-page .contact-info .contact-info-content ul li .contact-info-values a,
.contact-section.contact-page .contact-info .contact-info-content ul li.phone,
.contact-section.contact-page .contact-info .contact-info-content ul li.phone a,
.contact-section.contact-page .contact-info .contact-info-content ul li.phone .contact-info-values,
.contact-section.contact-page .contact-info .contact-info-content ul li.phone .contact-info-values a,
.he11-contact-section .contact-info-content ul li,
.he11-contact-section .contact-info-content ul li a,
.he11-contact-section .contact-info-content ul li > span,
.he11-contact-section .contact-info-content ul li .contact-info-address,
.he11-contact-section .contact-info-content ul li .contact-info-values,
.he11-contact-section .contact-info-content ul li .contact-info-values a,
.he11-contact-section .contact-info-content ul li.phone,
.he11-contact-section .contact-info-content ul li.phone a {
	color: #616161 !important;
	opacity: 1 !important;
	font-size: 20px !important;
	font-weight: 400 !important;
	line-height: 1.5 !important;
}

.contact-section.contact-page .contact-info .contact-info-content ul li.phone i,
.he11-contact-section .contact-info-content ul li.phone i,
.contact-section.contact-page .contact-info .contact-info-content ul li > i,
.he11-contact-section .contact-info-content ul li > i {
	font-size: 18px !important;
	color: var(--main-color) !important;
}


/* Contact page illustration — square cover for any upload size */
.contact-section.contact-page .contact-info .illustration-img,
.he11-contact-section .contact-info .illustration-img {
	width: 100%;
	max-width: 480px;
	aspect-ratio: 1 / 1;
	margin-left: auto;
	margin-right: auto;
	overflow: hidden;
	border-radius: 0;
}

.contact-section.contact-page .contact-info .illustration-img img,
.he11-contact-section .contact-info .illustration-img img {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	object-fit: cover !important;
	object-position: center center !important;
}


/* Contact icons — align with first text line (same horizontal row) */
.contact-section.contact-page .contact-info .contact-info-content ul li,
.he11-contact-section .contact-info-content ul li {
	display: flex !important;
	align-items: flex-start !important;
	line-height: 1.5 !important;
}

.contact-section.contact-page .contact-info .contact-info-content ul li > i,
.he11-contact-section .contact-info-content ul li > i {
	width: 22px !important;
	height: 1.5em !important;
	line-height: 1.5em !important;
	font-size: 18px !important;
	margin-top: 0 !important;
	margin-right: 0 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex-shrink: 0 !important;
	color: var(--main-color) !important;
}

.contact-section.contact-page .contact-info .contact-info-content ul li > span,
.contact-section.contact-page .contact-info .contact-info-content ul li > a,
.contact-section.contact-page .contact-info .contact-info-content ul li > .contact-info-values,
.he11-contact-section .contact-info-content ul li > span,
.he11-contact-section .contact-info-content ul li > a {
	line-height: 1.5 !important;
	padding-top: 0 !important;
	margin-top: 0 !important;
}
