.elementor-46239 .elementor-element.elementor-element-4f9d2bf{--display:flex;--min-height:300px;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--padding-top:40px;--padding-bottom:40px;--padding-left:40px;--padding-right:40px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );color:var( --e-global-color-primary );}.elementor-46239 .elementor-element.elementor-element-7d241b5 .elementor-heading-title{color:var( --e-global-color-text );}.elementor-46239 .elementor-element.elementor-element-69200d8{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--gap:40px 40px;--row-gap:40px;--column-gap:40px;--padding-top:0px;--padding-bottom:120px;--padding-left:40px;--padding-right:40px;}:root{--page-title-display:none;}@media(min-width:768px){.elementor-46239 .elementor-element.elementor-element-69200d8{--content-width:800px;}}@media(max-width:1366px){.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}}@media(max-width:1024px){.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}}@media(max-width:767px){.elementor-46239 .elementor-element.elementor-element-4f9d2bf{--min-height:0px;--padding-top:80px;--padding-bottom:40px;--padding-left:20px;--padding-right:20px;}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-46239 .elementor-element.elementor-element-69200d8{--min-height:0vh;--padding-top:20px;--padding-bottom:80px;--padding-left:20px;--padding-right:20px;}}/* Start custom CSS for shortcode, class: .elementor-element-0636d49 *//* --- General Form Styling --- */
.jh-contact {
    font: 700 1.25rem / 1.5em Montserrat, Helvetica Neue, Helvetica, Arial, sans-serif !important;
    width: 100% !important;
    max-width: 600px !important;
    margin: 0 auto !important;
}

/* --- Accessible Label Hiding --- */
/* Hides labels visually but keeps them accessible to screen readers */
.jh-contact .gfield_label,
.jh-contact .gform-field-label--type-sub {
    border: 0 !important;
    clip: rect(0 0 0 0) !important;
    height: 1px !important;
    margin: -1px !important;
    overflow: hidden !important;
    padding: 0 !important;
    position: absolute !important;
    width: 1px !important;
}

/* --- Input and Textarea Styling --- */
.jh-contact input[type="text"],
.jh-contact input[type="email"],
.jh-contact textarea {
    border: none !important;
    border-bottom: 3px solid #3C4B6C !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    outline: none !important;
    padding: 20px !important;
    width: 100% !important;
    font-size: 1rem !important;
    color: #3C4B6C !important;
    transition: border-color 0.3s ease-in-out !important;
}

/* --- Focus State for Inputs --- */
/* Changes border color on focus for better UX */
.jh-contact input[type="text"]:focus,
.jh-contact input[type="email"]:focus,
.jh-contact textarea:focus {
    border-bottom-color: #ff5851 !important;
}

/* --- Placeholder Text Styling --- */
.jh-contact ::placeholder {
    color: #3c4b6c !important;
    font-weight: 600 !important;
    opacity: 1 !important;
}

/* --- Name Field Layout (First/Last) --- */
/* Uses flexbox to align first and last name fields side-by-side */
.jh-contact .ginput_container_name {
    display: flex !important;
    gap: 1rem !important;
}

.jh-contact .ginput_container_name .name_first,
.jh-contact .ginput_container_name .name_last {
    flex: 1 !important;
}

/* --- Button and Footer Styling --- */
.jh-contact .gform_footer {
    display: flex !important;
    justify-content: flex-end !important;
    margin-top: 1rem !important;
}

.jh-contact .gform_button.button {
    background: transparent !important;
    border: none !important;
    border-left: 5px solid #ff5851 !important;
    cursor: pointer !important;
    outline: none !important;
    padding: 0 0 0 16px !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    color: #ff5851 !important;
    text-transform: uppercase !important;
    box-shadow: none  !important;
    line-height: 1rem !important;
    transition: all 0.3s ease-in !important;
}

/* --- Button Hover State --- */
.jh-contact .gform_button.button:hover {
    color: #3c4b6c !important;
    border-left: 5px solid #3c4b6c !important;
}

/* --- Turnstile/CAPTCHA Field --- */
/* Ensures the CAPTCHA field doesn't have extra margin */
.jh-contact .gfield--type-turnstile {
    margin-bottom: 0 !important;
}

/* --- Styled Dropdown (Select Field) --- */
.jh-contact select#input_1_6 {
    /* Reset browser's default appearance */
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;

    /* Apply the same core styles as other inputs */
    border: none !important;
    border-bottom: 3px solid #3C4B6C !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    outline: none !important;
    padding: 0 20px !important;
    width: 100% !important;
    font-size: 1rem !important;
    color: #3C4B6C !important;
    font-weight: 600 !important;
    transition: border-color 0.3s ease-in-out !important;
    cursor: pointer;

    /* Custom Arrow using an embedded SVG */
    background-image: url('https://archedinburgh.org/wp-content/uploads/blackchevron.svg');
    background-repeat: no-repeat;
    background-position: right 20px center;
    background-size: 1.5em;
    opacity: 1 !important;
}

/* --- Focus State for the Dropdown --- */
.jh-contact select#input_1_6:focus {
    border-bottom-color: #ff5851 !important;
    /* Arrow changes to red on focus */
    background-image: url('https://archedinburgh.org/wp-content/uploads/redchevron.svg');
}


/* ==========================================================================
   Responsive Styling for Mobile
   ========================================================================== */
@media (max-width: 767px) {
    .jh-contact .ginput_container_name {
        flex-direction: column !important; /* Stacks the name fields */
        gap: 0 !important; /* Removes the horizontal gap */
    }

    /* Adds vertical spacing between the stacked name fields */
    .jh-contact .ginput_container_name .name_first {
        margin-bottom: 1.5rem !important; 
    }
}/* End custom CSS */