/*
Theme Name: Hello Elementor Child
Theme URI: https://elementor.com/hello-theme/?utm_source=wp-themes&utm_campaign=theme-uri&utm_medium=wp-dash
Template: hello-elementor
Author: Elementor Team
Author URI: https://elementor.com/?utm_source=wp-themes&utm_campaign=author-uri&utm_medium=wp-dash
Description: Hello Elementor is a lightweight and minimalist WordPress theme that was built specifically to work seamlessly with the Elementor site builder plugin. The theme is free, open-source, and designed for users who want a flexible, easy-to-use, and customizable website. The theme, which is optimized for performance, provides a solid foundation for users to build their own unique designs using the Elementor drag-and-drop site builder. Its simplicity and flexibility make it a great choice for both beginners and experienced Web Creators.
Tags: accessibility-ready,flexible-header,custom-colors,custom-menu,custom-logo,featured-images,rtl-language-support,threaded-comments,translation-ready
Version: 3.4.4.1756546893
Updated: 2025-08-30 09:41:33

*/

/* THE RDF GROUP - STYLESHEET */

/* INDEX 
*  VARIABLES
*  PADDING
*  BUTTONS
*  GLOBAL STYLES
*  FORMS
*  MEDIA QUERIES
*/

/* VARIABLES */

:root {

    /* COLOURS */
    --color-dark-green: #1B7C5D;
    --color-light-green: #7ED957;
    --color-dark-grey: #3E3E3E;
    --color-dark-alt-grey: #717171;
    --color-light-grey: #C0C0C0;
    --color-light-alt-grey: #A3A3A3;
    --color-off-white: #FAFAFA;

    /* VISUAL EFFECTS */
    --vfx: all 0.3s ease-in-out;
}

/* PADDING */

.pad-top {
    padding-top: 7rem;
    padding-left: 6rem;
    padding-right: 6rem;
}

.pad-bot {
    padding-bottom: 7rem;
    padding-left: 6rem;
    padding-right: 6rem;
}

.pad-tb {
    padding: 7rem 6rem;
}

.pad-sides {
    padding-left: 6rem;
    padding-right: 6rem;
}

.pad-col-right {
    padding-right: 6rem;
}

.pad-col-left {
    padding-left: 6rem;
}

.pad-tb-small {
    padding-top: 2rem;
    padding-bottom: 2rem;
}

/* BUTTONS */

.header-btn a {
    background: var(--color-light-green);
    border: solid 2px var(--color-light-green);
    color: rgba(62, 62, 62, 1) !important;
    padding: 0.5rem 1.25rem !important;
    font-weight: 500 !important;
    text-transform: capitalize;

    transition: var(--vfx) !important;

    &:hover {
        background: transparent;
        color: var(--color-light-green);
    }
}

.solid-green-btn a {
    background: var(--color-light-green);
    color: var(--color-dark-green);
    border: solid 2px var(--color-light-green);
    padding: 0.75rem 1.5rem !important;
    font-weight: 500 !important;
    text-transform: capitalize;

    transition: var(--vfx) !important;

    &:hover {
        background: transparent;
        color: var(--color-dark-green);
        border: 2px solid var(--color-light-green);
    }
}

.outline-green-btn a {
    background: transparent;
    color: var(--color-dark-green) !important;
    border: solid 2px var(--color-light-green);
    padding: 0.75rem 1.5rem !important;
    font-weight: 500 !important;
    text-transform: capitalize;

    transition: var(--vfx) !important;

    &:hover {
        background: var(--color-light-green);
        color: var(--color-dark-green) !important;
        border: 2px solid var(--color-light-green);
    }
}

.green-txt-btn a {
    background: transparent !important;
    padding: 0 !important;
    color: var(--color-light-green) !important;

    transition: var(--vfx) !important;

    & .elementor-button-icon svg {
        fill: var(--color-light-green) !important;
        transition: var(--vfx) !important;
    }

        &:hover svg {
        transform: translateX(0.3rem);
    }
}

/* GLOBAL STYLES */

html,
body {
    overflow-x: hidden !important;
    width: 100% !important;
    scroll-behavior: smooth !important;
}

.main-menu .menu-item a {
	position: relative; /* Needed for the ::after positioning */
}

.elementor-nav-menu--dropdown  {
	transform: translatex(-20%) !important;
}

.main-menu .menu-item a::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -0.2rem; /* Adjust if you want it higher/lower under text */
	height: 1px;
	width: 0;
	background: var(--color-dark-grey) !important;
	transition: var(--vfx) !important; /* Smooth expand */
}

.main-menu .menu-item a:hover::after {
	width: 100%;
}

.hero-heading h1::before {
	content: url("/wp-content/uploads/2025/10/hero-graphic.svg");
	display: inline-block;
	position: absolute;
	left: -5rem;
	top: -4rem;
	z-index: 5;
	animation: slowRotate 40s linear infinite;
	transform-origin: center center;
}

.hero-heading.small-circle h1::before {
	content: url("/wp-content/uploads/2025/10/hero-graphic.svg");
	display: inline-block;
	position: absolute;
	left: -5rem;
	top: -4rem;
	z-index: 5;
	animation: slowRotateSmall 40s linear infinite;
	transform-origin: center center;
}

@keyframes slowRotate {
	from { transform: rotate(0deg); }
	to { transform: rotate(360deg); }
}

@keyframes slowRotateSmall {
	from { transform: scale(0.6) rotate(0deg); }
	to { transform: scale(0.6) rotate(360deg); }
}

.small-p p {
    font-size: clamp(0.625rem, 0.5535714285714286rem + 0.35714285714285715vw, 0.875rem);
}

.trigger-container img {
    transition: var(--vfx) !important;
}

.trigger-container:hover img {
    transform: scale(1.03) !important;
}

.legal-links a {
    color: var(--color-light-grey) !important;
    font-size: 0.875rem !important;
    transition: var(--vfx) !important;

    &:hover {
        color: var(--color-light-green) !important;
    }
}

.socket a {
    color: var(--color-light-grey) !important;
    font-size: 0.875rem !important;
    transition: var(--vfx) !important;

    &:hover {
        color: var(--color-light-green) !important;
    }
}

/* FORMS */

.contact-form .form-first-name label,
.contact-form .form-last-name label,
.contact-form .form-email-address label,
.contact-form .form-phone-field label,
.contact-form .form-phone-field label,
.contact-form .form-message-field label,
.contact-form .form-consent label {
	display: none !important;
}

.contact-form .form-first-name input,
.contact-form .form-last-name input,
.contact-form .form-email-address input,
.contact-form .form-phone-field input,
.contact-form .form-phone-field input {
	background-color: transparent !important;
    border: 2px solid var(--color-light-green) !important;
    border-radius: 0.625rem !important;
}

.contact-form .form-consent input {
    border: 1px solid var(--color-light-green) !important;
    background: transparent !important;
}

.contact-form .form-first-name input::placeholder,
.contact-form .form-last-name input::placeholder,
.contact-form .form-email-address input::placeholder,
.contact-form .form-phone-field input::placeholder,
.contact-form .form-phone-field input::placeholder {
    font-size: 0.875rem !important;
    color: #A3A3A3 !important; 
}

.contact-form .form-message-field textarea {
    background-color: transparent !important;
    border: 2px solid var(--color-light-green) !important;
    border-radius: 0.625rem !important;
}

.contact-form .form-message-field textarea {
    font-size: 0.875rem !important;
    color: #A3A3A3 !important; 
}

.contact-form .forminator-row {
    margin-bottom: 1rem !important;
}

.contact-form .form-first-name,
.contact-form .form-email-address {
    padding-right: 0.5rem !important;
}

.contact-form .form-last-name,
.contact-form .form-phone-field {
    padding-left: 0.5rem !important;
}

.form-consent p,
.form-consent p a {
    font-size: 12px !important;
}

.form-consent p a {
    color: var(--color-dark-green) !important;
}

.forminator-row-last .forminator-col .forminator-field {
	justify-content: end !important;
    display: flex !important;
}

.contact-form .forminator-button {
    background-color: transparent !important;
    border: 2px solid var(--color-light-green) !important;
    border-radius: 5px !important;
    box-shadow: none !important;
    font-size: 1rem !important;
    font-weight: 500 !important;
    color: var(--color-dark-green) !important;

    transition: var(--vfx) !important;

    &:hover {
        background-color: var(--color-light-green) !important;
    }
}

#forminator-module-66 {
    display: flex !important;
    flex-direction: row !important;
    width: 100% !important;
    gap: 1rem !important;
}

.email-list-form-field label,
.email-list-consent label {
	display: none !important;
}

.email-list-form-field {
    width: 300px !important;
}

.email-list-form-field {
    margin-bottom: 0 !important;
}

.email-list-form-field input {
    border-radius: 5px !important;
    border: 1px solid var(--color-dark-grey) !important;
}

.email-list-form-field input::placeholder {
    font-size: 14px !important;
}

.email-list-form .forminator-button {
    background-color: var(--color-light-green) !important;
    color: var(--color-dark-green) !important;
    box-shadow: none !important;
    border-radius: 5px !important;

    transition: var(--vfx) !important;

    &:hover {
        background-color: var(--color-dark-green) !important;
        color: var(--color-light-green) !important;
    }
}

/* MEDIA QUERIES */

/* TABLET - 1024px */
@media (width <= 64em) {

}

/* MOBILE - 767px */
@media (width <= 47.938em) {

    .solid-green-btn a,
    .solid-green-btn,
    .outline-green-btn a,
    .outline-green-btn {
        width: 100% !important;
    }

    #forminator-module-66 {
        display: flex !important;
        flex-wrap: wrap;
        flex-direction: row !important;
        width: 100% !important;
        gap: 0 !important;
        margin-bottom: 0 !important;
    }

    .forminator-row,
    .forminator-field-email {
        width: 100% !important;
    }

    #forminator-module-66 .forminator-row {
        margin-bottom: 0.5rem !important;
    }

    .contact-form .form-first-name,
    .contact-form .form-email-address {
        padding-right: 0 !important;
    }

    .contact-form .form-last-name,
    .contact-form .form-phone-field {
        padding-left: 0!important;
    }
}

