.elementor-kit-541{--e-global-color-primary:#1a1a1a;--e-global-color-secondary:#333333;--e-global-color-text:#000000;--e-global-color-accent:#42aaf3;--e-global-color-background:#ffffff;--e-global-color-backgroundAccent:#f5f5f5;--e-global-color-transparent:#00000000;--e-global-typography-primary-font-family:"Plus Jakarta Sans";--e-global-typography-primary-font-size:45px;--e-global-typography-primary-font-weight:200;--e-global-typography-primary-line-height:55px;--e-global-typography-secondary-font-family:"Plus Jakarta Sans";--e-global-typography-secondary-font-size:32px;--e-global-typography-secondary-font-weight:400;--e-global-typography-secondary-line-height:1.5em;--e-global-typography-text-font-family:"Plus Jakarta Sans";--e-global-typography-text-font-size:16px;--e-global-typography-text-font-weight:300;--e-global-typography-text-line-height:1.7em;--e-global-typography-text-word-spacing:0.1em;--e-global-typography-accent-font-family:"Plus Jakarta Sans";--e-global-typography-accent-font-size:15px;--e-global-typography-accent-font-weight:500;--e-global-typography-accent-line-height:1.5em;--e-global-typography-heading_xl-font-family:"Plus Jakarta Sans";--e-global-typography-heading_xl-font-size:45px;--e-global-typography-heading_xl-font-weight:200;--e-global-typography-heading_xl-line-height:55px;--e-global-typography-heading_l-font-family:"Plus Jakarta Sans";--e-global-typography-heading_l-font-size:32px;--e-global-typography-heading_l-font-weight:300;--e-global-typography-heading_m-font-family:"Plus Jakarta Sans";--e-global-typography-heading_m-font-size:32px;--e-global-typography-heading_m-font-weight:400;--e-global-typography-heading_m-line-height:42px;--e-global-typography-heading_s-font-family:"Plus Jakarta Sans";--e-global-typography-heading_s-font-size:15px;--e-global-typography-heading_s-font-weight:600;--e-global-typography-heading_s-line-height:1.5em;--e-global-typography-body_s-font-family:"Plus Jakarta Sans";--e-global-typography-body_s-font-size:16px;--e-global-typography-body_s-font-weight:300;--e-global-typography-body_s-line-height:1.5em;--e-global-typography-body_s-word-spacing:0.1em;background-color:var( --e-global-color-background );font-family:"Plus Jakarta Sans", plus-jakarta-sans;font-size:16px;line-height:1.6em;--e-page-transition-entrance-animation:e-page-transition-fade-out;--e-page-transition-exit-animation:e-page-transition-fade-in;--e-page-transition-animation-duration:650ms;}.elementor-kit-541 h1{font-family:"Plus Jakarta Sans", plus-jakarta-sans;font-weight:200;}.elementor-kit-541 h2{font-family:"Plus Jakarta Sans", plus-jakarta-sans;font-weight:200;}.elementor-kit-541 h3{font-family:"Plus Jakarta Sans", plus-jakarta-sans;font-size:23px;font-weight:400;}.elementor-kit-541 h4{font-family:"Plus Jakarta Sans", plus-jakarta-sans;font-weight:400;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1280px;}.e-con{--container-max-width:1280px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-header .site-branding .site-logo img{width:145px;max-width:145px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-kit-541{--e-global-typography-primary-font-size:22px;--e-global-typography-secondary-font-size:18px;--e-global-typography-heading_xl-font-size:48px;--e-global-typography-heading_l-font-size:40px;--e-global-typography-heading_m-font-size:32px;--e-global-typography-heading_s-font-size:18px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-541{--e-global-typography-primary-font-size:18px;--e-global-typography-secondary-font-size:16px;--e-global-typography-heading_xl-font-size:40px;--e-global-typography-heading_l-font-size:32px;--e-global-typography-heading_m-font-size:32px;--e-global-typography-heading_s-font-size:16px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* ========================
    FONTS
   =======================*/
b,
strong {
  font-weight: 600 !important;
}

.elementor .e-paragraph-base {
    word-spacing: 0.04em;
}

/* =========================
   POSITION CLASS FOR BOXED IMAGES
   ======================= */
.position {
  object-fit: cover;
  object-position: right center;
  display: block;
}

/* ========================
   BUTTON CONFIGURATIONS
   ===================== */
.elementor-button,
.e-button-base {
    display: inline-flex !important;
    justify-content: center !important;
    align-items: center !important;
    min-width: 160px !important;
    height: auto !important;
    padding: 14px 28px !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 16px !important;
    font-weight: 300 !important;
    letter-spacing: 0.5px !important;
    text-transform: none !important;
    line-height: 1 !important;
    color: #191a1b !important;
    background-color: transparent !important;
    background-image: none !important;
    border: 1px solid #dcdcdc !important;
    border-radius: 6px !important;
    box-shadow: none !important;
    cursor: pointer;
    transition: background-color 0.25s ease, border-color 0.25s ease, color 0.25s ease !important;
}

.elementor-button .elementor-button-text {
    color: inherit !important;
    font-family: inherit !important;
    font-size: inherit !important;
    font-weight: inherit !important;
}

.elementor-button:hover,
.e-button-base:hover {
    color: #ffffff !important;
    background-color: #191a1b !important;
    border-color: #191a1b !important;
}

.elementor-button:focus,
.e-button-base:focus {
    outline: 2px solid #42aaf3 !important;
    outline-offset: 3px !important;
}

/*================================================

***** SEE HEADER SECTION WITH MENU FOR CSS MENUS  

==========================*/



/*================================================
   IMAGE FADE & FLICKER CORRECTIONS
    ==========================================*/
body:not(.elementor-editor-active) .fade-flicker-fix img,
body:not(.elementor-editor-active) .fade-flicker-fix {
    opacity: 0 !important;
    visibility: hidden !important;
}

.image_fade_in img, 
.image_fade_in {
    opacity: 0;
    animation: smoothFadeIn 1600ms ease-out forwards;
}

@keyframes smoothFadeIn {
    0% { opacity: 0; }
    100% { opacity: 1; }
}

/*================================================
   GLOBAL ANIMATION TIMELINES (Pulled outside to prevent compiler errors)
   ================================================== */
@keyframes shrinkHeroBannerDesktop {
    0% { min-height: 100vh; }
    100% { min-height: 60vh; }
}

@keyframes shrinkHeroBannerMobile {
    0% { min-height: 80vh; }
    100% { min-height: 35vh; }
}


/*================================================
   RESPONSIVE font-size 
   ==========================*/
   
   /* --- DESKTOP & TABLET VIEWPORTS --- */
@media (max-width: 767px) {
    /* Targets all paragraph tags inside Elementor text editor widgets */
    .elementor-widget-text-editor p,
    .elementor-widget-text-editor {
        font-size: 15px !important; /* Adjust this number to your preferred size */
        line-height: 1.5 !important;  /* Ensures clean spacing between lines */
    }
}
   

/*================================================
   RESPONSIVE MEDIA
   ==========================*/
   
/* --- DESKTOP & TABLET VIEWPORTS --- */
@media (min-width: 768px) {
    .collapsing-hero-banner {
        width: 100%;
        min-height: 100vh;
        overflow: hidden;
        position: relative;
        animation: shrinkHeroBannerDesktop 1400ms cubic-bezier(0.25, 1, 0.5, 1) forwards;
        animation-delay: 400ms;
    }
}

/* --- MOBILE VIEWPORTS --- */
@media (max-width: 767px) {
    .collapsing-hero-banner {
        width: 100%;
        min-height: 80vh;
        overflow: hidden;
        position: relative;
        animation: shrinkHeroBannerMobile 1400ms cubic-bezier(0.25, 1, 0.5, 1) forwards;
        animation-delay: 400ms;
    }
}

/* --- Shared Transition Layer --- */
.collapsing-hero-banner img,
.collapsing-hero-banner .elementor-background-overlay {
    transition: all 1400ms cubic-bezier(0.25, 1, 0.5, 1);
}/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Plus Jakarta Sans';
	font-display: auto;
	src: url('https://cameroncreative.co.uk/wp-content/uploads/2026/05/PlusJakartaSans-VariableFont_wght.ttf') format('truetype');
}
/* End Custom Fonts CSS */