/*
Theme Name:   Join the Dots
Theme URI:    https://wejointhedots.co.uk
Author:       Fantastic Media + Domify
Template:     hello-elementor
Version:      1.0.0
*/

/* =====================================================================
   Self-hosted brand fonts
   Files live in assets/fonts/ (woff2 + ttf fallback). These rules load
   after all Elementor-generated CSS, so they are the winning definition
   of "Calibri" / "Caprasimo" site-wide. Do NOT re-add a Google Fonts
   @font-face for Calibri here — Google has no Calibri, the old kit URL
   served a substitute, and fonts.gstatic.com is blocked by many mobile
   browsers, which left mobile with no font at all.
   ===================================================================== */

/* Calibri — body / UI text. local() lets devices that already have
   Calibri (Windows / MS Office) skip the download entirely. */
@font-face {
	font-family: "Calibri";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: local("Calibri"),
	     url("assets/fonts/Calibri.woff2") format("woff2"),
	     url("assets/fonts/Calibri.ttf") format("truetype");
}

@font-face {
	font-family: "Calibri";
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: local("Calibri Bold"), local("Calibri-Bold"),
	     url("assets/fonts/Calibri-Bold.woff2") format("woff2"),
	     url("assets/fonts/Calibri-Bold.ttf") format("truetype");
}

/* Caprasimo — display headings. Only the 400 weight exists and 700 looks
   wrong, so the face is declared for the whole 400–700 range: any element
   that asks for bold gets the real 400 file, never a synthesised bold. */
@font-face {
	font-family: "Caprasimo";
	font-style: normal;
	font-weight: 400 700;
	font-display: swap;
	src: url("assets/fonts/Caprasimo-Regular.woff2") format("woff2"),
	     url("assets/fonts/Caprasimo-Regular.ttf") format("truetype");
}

/* ===== Apply Calibri to global Text/Accent typography ===== */
.elementor-kit-6 {
	--e-global-typography-text-font-family: "Calibri", sans-serif;
	--e-global-typography-accent-font-family: "Calibri", sans-serif;
}

/* ===== Catch any hardcoded/local widget overrides still set to Carlito ===== */
.elementor-widget-text-editor,
.elementor-widget-text-editor * {
	font-family: "Calibri", sans-serif !important;
}

.team-banner-main .team-name,
.team-banner-main .team-name *,
.team-banner-main .team-position,
.team-banner-main .team-position * {
	font-family: 'Caprasimo', cursive !important;
}

.team-banner-main .heading-text {
	font-family: "Calibri", sans-serif !important;
}

.elementor-widget-text-editor,
.elementor-widget-text-editor *,
.elementor-button,
.elementor-button-text,
.elementor-widget-button,
.elementor-tab-title,
.elementor-tabs-wrapper,
.tab-title-text,
span.e-n-tab-title-text,
.elementor-nav-menu,
.elementor-nav-menu *,
nav.elementor-nav-menu--main,
.elementor-widget-nav-menu .elementor-nav-menu li a,
.get-in-touch-dropdown,
.get-in-touch-message,
.lb-career-heading,
.lb-career-apply-text {
	font-family: "Calibri", sans-serif !important;
}

h2.wp-block-heading,
h1.wp-block-heading,
h3.wp-block-heading,
h4.wp-block-heading,
h5.wp-block-heading,
h6.wp-block-heading {
	font-family: "Caprasimo", serif !important;
}

.content.blog-content h1,
.content.blog-content h2,
.content.blog-content h3,
.content.blog-content h4,
.content.blog-content h5,
.content.blog-content h6 {
	font-family: "Caprasimo", serif !important;
}

.wp-block-quote cite {
	font-family: "Caprasimo", serif !important;
}

.latest-right h2 {
	font-family: "Caprasimo", serif !important;
}

.latest-right p {
	font-family: "Calibri", sans-serif !important;
}

.team-about-card.content-card p,
.content.blog-content p 
{
	font-family: "Calibri", sans-serif !important;
}

.elementor-widget-heading .elementor-heading-title span {
	font-family: inherit !important;
	color: var(--e-global-color-primary) !important;
}

/* Blanket: Calibri for all body copy on single posts + archives */
body.single *,
body.archive *,
body.tax-content_type * {
	font-family: "Calibri", sans-serif !important;
}

/* Then re-assert Caprasimo on headings within those same pages */
body.single h1 > a,
body.single h2 > a,
body.single h3 > a,
body.single h4 > a,
body.single h5 > a,
body.single h6 > a,
body.single .elementor-loop-container .elementor-heading-title a,
body.archive h1 > a,
body.archive h2 > a,
body.archive h3 > a,
body.archive h4 > a,
body.archive h5 > a,
body.archive h6 > a,
body.tax-content_type h1 > a,
body.tax-content_type h2 > a,
body.tax-content_type h3 > a,
body.tax-content_type h4 > a,
body.tax-content_type h5 > a,
body.tax-content_type h6 > a,
body.single h1,
body.single h2,
body.single h3,
body.single h4,
body.single h5,
body.single h6,
body.archive h1,
body.archive h2,
body.archive h3,
body.archive h4,
body.archive h5,
body.archive h6,
body.tax-content_type h1,
body.tax-content_type h2,
body.tax-content_type h3,
body.tax-content_type h4,
body.tax-content_type h5,
body.tax-content_type h6 {
	font-family: "Caprasimo", serif !important;
}

.wp-block-button .wp-block-button__link {
	background-color: var(--e-global-color-primary) !important;
	color: var(--e-global-color-secondary) !important;
}

.btn.btn-primary,
.btn.btn-primary span {
	color: var(--e-global-color-secondary) !important;
}

.btn.btn-primary path,
.btn.btn-primary svg path {
	stroke: var(--e-global-color-secondary) !important;
}

.btn.btn-primary:hover {
	background-color: var(--e-global-color-secondary) !important;
}

.btn.btn-primary:hover,
.btn.btn-primary:hover span
{
	color: var(--e-global-color-primary) !important;
}

.btn.btn-primary:hover path,
.btn.btn-primary:hover svg path {
	stroke: var(--e-global-color-primary) !important;
}

.bls-pill.is-active {
	background: var(--e-global-color-accent, #f5a623) !important;
	border-color: var(--e-global-color-accent, #f5a623);
	color: var(--e-global-color-secondary) !important;
}

button.bls-pill.is-active {
	color: var(--e-global-color-secondary) !important;
}

a.webinars,
a.webinars span,
.buttton a,
.buttton a .button-text,
.buttton a span svg path
{
	color: var(--e-global-color-secondary) !important;
}

.buttton a span svg path
{
	stroke: var(--e-global-color-secondary) !important;
}

a.webinars:hover,
.buttton a:hover {
	background-color: var(--e-global-color-secondary) !important;
}

a.webinars:hover,
a.webinars:hover span,
.buttton a:hover,
.buttton a:hover .button-text {
	color: var(--e-global-color-primary) !important;
}

.buttton a:hover span svg path
{
	stroke: var(--e-global-color-primary) !important;
}

body.tax-content_type .team-banner-main.works .team-name {
	text-transform: lowercase;
}
body.tax-content_type .team-banner-main.works .team-name::first-letter {
	text-transform: uppercase;
}

h1.wp-block-heading strong,
h2.wp-block-heading strong,
h3.wp-block-heading strong,
h4.wp-block-heading strong,
h5.wp-block-heading strong,
h6.wp-block-heading strong {
	font-family: inherit !important;
}

body.single .works h1 {
	text-transform: none;
}

.elementor-6310 .elementor-element.elementor-element-5fac4ed .elementor-icon-list-item > .elementor-icon-list-text,
.elementor-6310 .elementor-element.elementor-element-5fac4ed .elementor-icon-list-item > a {
	text-transform: lowercase;
}
.elementor-6310 .elementor-element.elementor-element-5fac4ed .elementor-icon-list-item > .elementor-icon-list-text::first-letter,
.elementor-6310 .elementor-element.elementor-element-5fac4ed .elementor-icon-list-item > a::first-letter {
	text-transform: uppercase;
}

.btn-container .elementor-button,
.btn-container .elementor-button .button-text {
	color: var(--e-global-color-secondary) !important;
}
.wp-block-group.has-mango-faint-background-color {
	width: 100%;
	box-sizing: border-box;
}

.wp-block-group.has-mango-faint-background-color {
	padding: 0 !important;
}

p.wp-block-paragraph.has-large-font-size {
	font-family: "Caprasimo", serif !important;
}

.elementor-element-1f594f6c .elementor-button,
.elementor-element-1f594f6c .elementor-button span {
	color: var(--e-global-color-secondary) !important;
}

.elementor-element-1f594f6c .elementor-button path,
.elementor-element-1f594f6c .elementor-button svg path {
	stroke: var(--e-global-color-secondary) !important;
}

.elementor-element-1f594f6c .elementor-button:hover {
	background-color: var(--e-global-color-secondary) !important;
}

.elementor-element-1f594f6c .elementor-button:hover,
.elementor-element-1f594f6c .elementor-button:hover span {
	color: var(--e-global-color-primary) !important;
}

.elementor-element-1f594f6c .elementor-button:hover path,
.elementor-element-1f594f6c .elementor-button:hover svg path {
	stroke: var(--e-global-color-primary) !important;
}

.elementor-element-cf0cc0a .elementor-button,
.elementor-element-cf0cc0a .elementor-button span {
	color: var(--e-global-color-secondary) !important;
}

.elementor-element-cf0cc0a .elementor-button path,
.elementor-element-cf0cc0a .elementor-button svg path {
	stroke: var(--e-global-color-secondary) !important;
}

.elementor-element-cf0cc0a .elementor-button:hover {
	background-color: var(--e-global-color-secondary) !important;
}

.elementor-element-cf0cc0a .elementor-button:hover,
.elementor-element-cf0cc0a .elementor-button:hover span {
	color: var(--e-global-color-primary) !important;
}

.elementor-element-cf0cc0a .elementor-button:hover path,
.elementor-element-cf0cc0a .elementor-button:hover svg path {
	stroke: var(--e-global-color-primary) !important;
}

span.team-about-name {
	font-family: "Caprasimo", serif !important;
}

.hd-purple .elementor-heading-title span {
	color: var(--e-global-color-secondary) !important;
}

.content.blog-content a:not(.btn):not(.wp-block-button__link):not(.arrow-btn) {
	color: var(--e-global-color-primary) !important;
}

a.webinars path,
a.webinars svg path {
	stroke: var(--e-global-color-secondary) !important;
}

a.webinars:hover path,
a.webinars:hover svg path {
	stroke: var(--e-global-color-primary) !important;
}

.webinars-back-link,
.webinars-back-link .button-text {
	color: var(--e-global-color-secondary) !important;
}

.webinars-back-link path,
.webinars-back-link svg path {
	stroke: var(--e-global-color-secondary) !important;
}

.webinars-back-link:hover,
.webinars-back-link:hover .button-text {
	background-color: var(--e-global-color-secondary) !important;
	color: var(--e-global-color-primary) !important;
}

.webinars-back-link:hover path,
.webinars-back-link:hover svg path {
	stroke: var(--e-global-color-primary) !important;
}

.testimonial-quote::before,
.testimonial-quote::after {
    color: var(--e-global-color-primary) !important;
}

.wp-block-quote,
body.single .content blockquote
{
	margin: 0 0 1rem;
    padding: 2rem 0 2rem 6rem;
    position: relative;
}

.wp-block-quote::before,
body.single .content blockquote::before
{
	background: url("/wp-content/themes/join-the-dots/assets/img/quote-marks.svg");
    content: "";
    display: inline-block;
    height: 4rem;
    left: 0;
    position: absolute;
    top: 2rem;
    width: 4rem;
}

.wp-block-quote p:first-of-type,
body.single .content blockquote p:first-of-type
{
	color: var(--e-global-color-text) !important;
	font-weight: 400 !important;
	margin-bottom: revert !important;
}

.wp-block-quote cite,
body.single .content blockquote cite
{
    font-style: normal;
    font-weight: 700;
}

.sg-creatio-form
{
	padding: 4rem 2rem;
}

.sg-creatio-form__submit
{
	border: none !important;
}

.sg-creatio-form__privacy
{
	opacity: 1 !important;
}