/* Start custom CSS for html, class: .elementor-element-4a0a5c6 *//* =========================================
   BRIGHT LEARNING TUITION
   CONTACT PAGE HERO
   ========================================= */

.blt-contact-hero {
    position: relative;
    width: 100%;
    min-height: 400px;
    height: 400px;

    display: flex;
    align-items: center;

    background-image: url("http://brightlearningtuitionhub.co.uk/wp-content/uploads/2026/08/125112.jpg");
    background-size: cover;
    background-position: center center;

    overflow: hidden;
}


/* =========================================
   IMAGE OVERLAY
   ========================================= */

.blt-contact-hero-overlay {
    position: absolute;
    inset: 0;
    z-index: 1;

    background:
        linear-gradient(
            90deg,
            rgba(0, 0, 0, 0.84) 0%,
            rgba(0, 0, 0, 0.68) 38%,
            rgba(0, 0, 0, 0.38) 68%,
            rgba(0, 0, 0, 0.20) 100%
        );
}


/* =========================================
   CONTENT CONTAINER
   ========================================= */

.blt-contact-hero-container {
    position: relative;
    z-index: 2;

    width: 100%;
    max-width: 1160px;

    margin: 0 auto;

    padding: 20px 25px;
}


/* =========================================
   CONTENT
   ========================================= */

.blt-contact-hero-content {
    width: 100%;
    max-width: 690px;
}


/* =========================================
   ORANGE LABEL
   ========================================= */

.blt-contact-hero-accent {
    display: flex;
    align-items: center;
    gap: 10px;

    margin-bottom: 14px;

    color: #f48221;

    font-size: 12px;
    font-weight: 700;

    letter-spacing: 1.8px;
    line-height: 1;
}


/* Small orange line */

.blt-contact-hero-accent::before {
    content: "";

    width: 34px;
    height: 2px;

    flex: 0 0 34px;

    background: #f48221;
}


/* =========================================
   HEADING
   ========================================= */

.blt-contact-hero h1 {
    margin: 0 0 17px;

    color: #ffffff;

    font-size: clamp(40px, 4.8vw, 60px);

    font-weight: 700;

    line-height: 1.06;

    letter-spacing: -1.3px;
}


/* Brand name */

.blt-contact-hero h1 span {
    color: #f48221;
}


/* =========================================
   DESCRIPTION
   ========================================= */

.blt-contact-hero p {
    max-width: 625px;

    margin: 0;

    color: rgba(255, 255, 255, 0.95);

    font-size: 16px;

    font-weight: 400;

    line-height: 1.65;
}


/* =========================================
   TABLET
   ========================================= */

@media (max-width: 1000px) {

    .blt-contact-hero {
        min-height: 400px;
        height: 400px;

        background-position: center center;
    }

    .blt-contact-hero-container {
        padding: 40px 25px;
    }

    .blt-contact-hero-content {
        max-width: 620px;
    }

    .blt-contact-hero h1 {
        font-size: 46px;
    }

    .blt-contact-hero p {
        font-size: 15px;
    }

}


/* =========================================
   MOBILE
   ========================================= */

@media (max-width: 767px) {

    .blt-contact-hero {
        min-height: 400px;
        height: 400px;

        align-items: flex-end;

        /*
         * Shift image slightly so the important
         * visual area remains visible behind text.
         */
        background-position: 63% center;
    }


    .blt-contact-hero-overlay {
        background:
            linear-gradient(
                180deg,
                rgba(0, 0, 0, 0.12) 0%,
                rgba(0, 0, 0, 0.35) 35%,
                rgba(0, 0, 0, 0.82) 100%
            );
    }


    .blt-contact-hero-container {
        padding: 35px 18px 32px;
    }


    .blt-contact-hero-content {
        max-width: 100%;
    }


    /* Orange label */

    .blt-contact-hero-accent {
        margin-bottom: 11px;

        font-size: 10px;

        letter-spacing: 1.5px;
    }


    .blt-contact-hero-accent::before {
        width: 27px;
        flex-basis: 27px;
    }


    /* Heading */

    .blt-contact-hero h1 {
        margin-bottom: 13px;

        font-size: 36px;

        line-height: 1.08;

        letter-spacing: -0.6px;
    }


    /* Description */

    .blt-contact-hero p {
        max-width: 100%;

        font-size: 14px;

        line-height: 1.6;
    }

}


/* =========================================
   SMALL MOBILE
   ========================================= */

@media (max-width: 480px) {

    .blt-contact-hero {
        min-height: 400px;
        height: 400px;

        background-position: 64% center;
    }


    .blt-contact-hero-container {
        padding: 30px 15px 28px;
    }


    .blt-contact-hero h1 {
        font-size: 32px;

        line-height: 1.08;
    }


    .blt-contact-hero p {
        font-size: 13.5px;

        line-height: 1.58;
    }

}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-3e628ef *//* =========================================
   CONTACT FORM SECTION
   ========================================= */

.blt-contact-form-section {
    position: relative;

    width: 100%;

    padding: 55px 20px 60px;

    background: #ffffff;

    overflow: hidden;
}


.blt-contact-form-section *,
.blt-contact-form-section *::before,
.blt-contact-form-section *::after {
    box-sizing: border-box;
}


/* =========================================
   MAIN LAYOUT
   ========================================= */

.blt-contact-form-container {
    width: 100%;
    max-width: 1080px;

    margin: 0 auto;

    display: grid;

    grid-template-columns: 0.85fr 1.15fr;

    align-items: stretch;

    gap: 28px;
}


/* =========================================
   LEFT SIDE
   ========================================= */

.blt-contact-form-intro {
    position: relative;

    display: flex;
    align-items: center;

    min-height: 500px;

    padding: 35px;

    background: #f48221;

    border-radius: 12px;

    overflow: hidden;
}


/* subtle decorative circle */

.blt-contact-form-intro::before {
    content: "";

    position: absolute;

    width: 230px;
    height: 230px;

    right: -100px;
    top: -80px;

    border-radius: 50%;

    background: rgba(255,255,255,0.10);
}


/* second decorative shape */

.blt-contact-form-intro::after {
    content: "";

    position: absolute;

    width: 170px;
    height: 170px;

    left: -90px;
    bottom: -90px;

    border-radius: 50%;

    background: rgba(0,0,0,0.07);
}


.blt-contact-form-intro-inner {
    position: relative;

    z-index: 2;

    width: 100%;
}


/* =========================================
   LABEL
   ========================================= */

.blt-contact-form-label {
    display: inline-flex;

    align-items: center;

    gap: 8px;

    margin-bottom: 12px;

    color: #ffffff;

    font-size: 10px;

    font-weight: 700;

    letter-spacing: 1.5px;
}


.blt-contact-form-label::before {
    content: "";

    width: 25px;
    height: 2px;

    background: #ffffff;
}


/* =========================================
   LEFT HEADING
   ========================================= */

.blt-contact-form-intro h2 {
    margin: 0 0 17px;

    color: #ffffff;

    font-size: 36px;

    font-weight: 700;

    line-height: 1.08;

    letter-spacing: -0.6px;
}


.blt-contact-form-intro h2 span {
    color: #111111;
}


/* =========================================
   LEFT DESCRIPTION
   ========================================= */

.blt-contact-form-intro > .blt-contact-form-intro-inner > p {
    max-width: 410px;

    margin: 0;

    color: rgba(255,255,255,0.95);

    font-size: 14px;

    line-height: 1.6;
}


/* =========================================
   POINTS
   ========================================= */

.blt-contact-form-points {
    margin-top: 22px;
}


.blt-contact-form-points > div {
    display: flex;

    align-items: center;

    gap: 9px;

    margin-bottom: 9px;
}


.blt-contact-form-points > div > span {
    flex: 0 0 21px;

    width: 21px;
    height: 21px;

    display: flex;

    align-items: center;
    justify-content: center;

    background: #ffffff;

    border-radius: 50%;

    color: #f48221;

    font-size: 11px;

    font-weight: 700;
}


.blt-contact-form-points p {
    margin: 0;

    color: #ffffff;

    font-size: 13px;

    font-weight: 600;
}


/* =========================================
   PHONE
   ========================================= */

.blt-contact-form-call {
    display: flex;

    flex-direction: column;

    margin-top: 25px;

    padding-top: 18px;

    border-top: 1px solid rgba(255,255,255,0.30);
}


.blt-contact-form-call span {
    margin-bottom: 4px;

    color: rgba(255,255,255,0.85);

    font-size: 11px;
}


.blt-contact-form-call a {
    color: #ffffff;

    font-size: 21px;

    font-weight: 700;

    text-decoration: none;
}


/* =========================================
   FORM CARD
   ========================================= */

.blt-contact-form-card {
    position: relative;

    min-width: 0;

    padding: 27px 30px 25px;

    background: #ffffff;

    border: 1px solid #e7e7e7;

    border-top: 4px solid #f48221;

    border-radius: 12px;

    box-shadow:
        0 12px 35px rgba(0,0,0,0.08);
}


/* =========================================
   FORM HEADER
   ========================================= */

.blt-contact-form-card-header {
    margin-bottom: 18px;
}


.blt-contact-form-card-header > span {
    display: block;

    margin-bottom: 4px;

    color: #f48221;

    font-size: 9px;

    font-weight: 700;

    letter-spacing: 1.4px;
}


.blt-contact-form-card-header h3 {
    margin: 0 0 4px;

    color: #111111;

    font-size: 24px;

    font-weight: 700;

    line-height: 1.2;
}


.blt-contact-form-card-header p {
    margin: 0;

    color: #777777;

    font-size: 12px;

    line-height: 1.4;
}


/* =========================================
   CF7 RESET
   ========================================= */

.blt-contact-form {
    width: 100%;
}


.blt-contact-form form {
    width: 100%;

    margin: 0 !important;
}


/*
   CF7 normally puts every field inside <p>.
   Remove the large default spacing.
*/

.blt-contact-form form > p {
    margin: 0 0 10px !important;

    padding: 0 !important;
}


/* =========================================
   LABELS
   ========================================= */

.blt-contact-form form label {
    display: block;

    margin: 0 0 4px;

    color: #111111;

    font-size: 11px;

    font-weight: 600;

    line-height: 1.3;
}


/* =========================================
   INPUTS
   ========================================= */

.blt-contact-form form input:not([type="submit"]):not([type="checkbox"]),
.blt-contact-form form select,
.blt-contact-form form textarea {
    width: 100%;

    margin: 0;

    padding: 8px 10px;

    background: #ffffff;

    border: 1px solid #d8d8d8;

    border-radius: 4px;

    color: #222222;

    font-family: inherit;

    font-size: 12px;

    line-height: 1.3;

    outline: none;

    transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease;
}


/* =========================================
   INPUT HEIGHTS
   ========================================= */

.blt-contact-form form input:not([type="submit"]):not([type="checkbox"]),
.blt-contact-form form select {
    height: 39px;

    min-height: 39px;
}


.blt-contact-form form textarea {
    height: 75px;

    min-height: 75px;

    resize: vertical;
}


/* =========================================
   FOCUS
   ========================================= */

.blt-contact-form form input:focus,
.blt-contact-form form select:focus,
.blt-contact-form form textarea:focus {
    border-color: #f48221;

    box-shadow:
        0 0 0 2px rgba(244,130,33,0.10);
}


/* =========================================
   TWO COLUMN CF7 FIELDS
   ========================================= */

/*
   First Name + Last Name
   Email + Phone
   Postcode + Where did you hear about us
*/

.blt-contact-form form .blt-half {
    display: inline-block;

    width: calc(50% - 7px);

    vertical-align: top;
}


.blt-contact-form form .blt-half + .blt-half {
    margin-left: 10px;
}


/* =========================================
   TEXTAREA
   ========================================= */

.blt-contact-form form textarea {
    width: 100%;
}


/* =========================================
   CHECKBOX
   ========================================= */

.blt-contact-form form input[type="checkbox"] {
    width: 14px !important;
    height: 14px !important;

    min-height: 14px !important;

    margin: 0 6px 0 0 !important;

    vertical-align: middle;
}


.blt-contact-form form .wpcf7-list-item {
    margin: 0 !important;
}


.blt-contact-form form .wpcf7-list-item-label {
    color: #555555;

    font-size: 10px;

    font-weight: 400;
}


/* =========================================
   TURNSTILE
   ========================================= */

.blt-contact-form form .cf-turnstile {
    margin: 7px 0 8px;

    transform-origin: left top;
}


/* =========================================
   SUBMIT
   ========================================= */

.blt-contact-form form input[type="submit"] {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    min-height: 42px;

    margin-top: 3px;

    padding: 9px 23px;

    background: #f48221;

    color: #ffffff;

    border: 2px solid #f48221;

    border-radius: 4px;

    font-family: inherit;

    font-size: 12px;

    font-weight: 700;

    cursor: pointer;

    transition:
        background 0.25s ease,
        border-color 0.25s ease,
        transform 0.25s ease;
}


.blt-contact-form form input[type="submit"]:hover {
    background: #c25e0a;

    color: #ffffff;

    border-color: #ffffff;

    transform: translateY(-2px);
}


/* =========================================
   CF7 VALIDATION
   ========================================= */

.blt-contact-form .wpcf7-not-valid {
    border-color: #d9534f !important;
}


.blt-contact-form .wpcf7-not-valid-tip {
    display: block;

    margin-top: 2px;

    font-size: 9px;

    line-height: 1.2;

    color: #d9534f;
}


.blt-contact-form .wpcf7-response-output {
    margin: 10px 0 0 !important;

    padding: 7px 9px !important;

    font-size: 10px;

    border-radius: 4px;
}


/* =========================================
   TABLET
   ========================================= */

@media (max-width: 900px) {

    .blt-contact-form-container {
        grid-template-columns: 0.8fr 1.2fr;

        gap: 20px;
    }


    .blt-contact-form-intro {
        padding: 28px;

        min-height: 500px;
    }


    .blt-contact-form-intro h2 {
        font-size: 31px;
    }


    .blt-contact-form-card {
        padding: 24px 22px;
    }

}


/* =========================================
   MOBILE
   ========================================= */

@media (max-width: 767px) {

    .blt-contact-form-section {
        padding: 45px 15px 55px;
    }


    .blt-contact-form-container {
        display: flex;

        flex-direction: column;

        gap: 20px;
    }


    /* LEFT PANEL */

    .blt-contact-form-intro {
        min-height: auto;

        padding: 28px 23px;

        border-radius: 10px;
    }


    .blt-contact-form-intro h2 {
        font-size: 30px;

        line-height: 1.1;
    }


    .blt-contact-form-intro > .blt-contact-form-intro-inner > p {
        font-size: 13px;

        line-height: 1.55;
    }


    .blt-contact-form-points {
        margin-top: 17px;
    }


    .blt-contact-form-call {
        margin-top: 18px;

        padding-top: 14px;
    }


    .blt-contact-form-call a {
        font-size: 19px;
    }


    /* FORM */

    .blt-contact-form-card {
        width: 100%;

        padding: 23px 17px 24px;

        border-radius: 10px;
    }


    .blt-contact-form-card-header {
        margin-bottom: 17px;
    }


    .blt-contact-form-card-header h3 {
        font-size: 22px;
    }


    /*
       On mobile all fields become full width.
    */

    .blt-contact-form form .blt-half {
        display: block;

        width: 100%;

        margin: 0 0 10px;
    }


    .blt-contact-form form .blt-half + .blt-half {
        margin-left: 0;
    }


    .blt-contact-form form > p {
        margin-bottom: 9px !important;
    }

}


/* =========================================
   SMALL MOBILE
   ========================================= */

@media (max-width: 480px) {

    .blt-contact-form-section {
        padding: 38px 12px 48px;
    }


    .blt-contact-form-intro {
        padding: 25px 20px;
    }


    .blt-contact-form-intro h2 {
        font-size: 28px;
    }


    .blt-contact-form-card {
        padding: 21px 14px 22px;
    }


    .blt-contact-form-card-header h3 {
        font-size: 21px;
    }


    .blt-contact-form form input:not([type="submit"]):not([type="checkbox"]),
    .blt-contact-form form select {
        height: 38px;

        min-height: 38px;
    }


    .blt-contact-form form textarea {
        height: 70px;

        min-height: 70px;
    }


    .blt-contact-form form input[type="submit"] {
        width: 100%;
    }

}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-f735612 *//* =========================================
   BRIGHT LEARNING TUITION
   CONTACT PAGE - LOCATIONS
   ========================================= */

.blt-contact-locations {
    width: 100%;

    padding: 45px 20px 85px;

    background: #fffaf6;
}


.blt-contact-locations-container {
    width: 100%;

    max-width: 1100px;

    margin: 0 auto;
}


/* =========================================
   SECTION HEADING
   ========================================= */

.blt-contact-locations-heading {
    max-width: 700px;

    margin: 0 auto 38px;

    text-align: center;
}


.blt-contact-locations-heading > span {
    display: inline-block;

    margin-bottom: 9px;

    color: #f48221;

    font-size: 10px;

    font-weight: 700;

    letter-spacing: 1.7px;
}


.blt-contact-locations-heading h2 {
    margin: 0 0 12px;

    color: #111111;

    font-size: clamp(34px, 4vw, 48px);

    font-weight: 700;

    line-height: 1.1;

    letter-spacing: -1px;
}


.blt-contact-locations-heading h2 span {
    color: #f48221;
}


.blt-contact-locations-heading p {
    max-width: 620px;

    margin: 0 auto;

    color: #555555;

    font-size: 14px;

    line-height: 1.65;
}


/* =========================================
   LOCATION GRID
   ========================================= */

.blt-location-grid {
    display: grid;

    grid-template-columns: repeat(2, minmax(0, 1fr));

    gap: 25px;
}


/* =========================================
   LOCATION CARD
   ========================================= */

.blt-location-card {
    position: relative;

    overflow: hidden;

    background: #ffffff;

    border: 1px solid #eeeeee;

    border-radius: 12px;

    box-shadow:
        0 12px 35px rgba(0,0,0,0.07);

    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease;
}


.blt-location-card:hover {
    transform: translateY(-5px);

    box-shadow:
        0 18px 40px rgba(0,0,0,0.10);
}


/* =========================================
   CARD HEADER
   ========================================= */

.blt-location-card-header {
    display: flex;

    align-items: center;

    gap: 14px;

    padding: 22px 22px 12px;
}


.blt-location-icon {
    flex: 0 0 46px;

    width: 46px;
    height: 46px;

    display: flex;

    align-items: center;
    justify-content: center;

    background: #fff2e7;

    border-radius: 50%;

    color: #f48221;

    font-size: 18px;
}


.blt-location-card-header span {
    display: block;

    margin-bottom: 3px;

    color: #f48221;

    font-size: 9px;

    font-weight: 700;

    letter-spacing: 1px;
}


.blt-location-card-header h3 {
    margin: 0;

    color: #111111;

    font-size: 22px;

    font-weight: 700;

    line-height: 1.2;
}


/* =========================================
   ADDRESS
   ========================================= */

.blt-location-address {
    display: flex;

    align-items: flex-start;

    gap: 9px;

    padding: 0 22px 18px;
}


.blt-location-address i {
    margin-top: 3px;

    color: #f48221;

    font-size: 12px;
}


.blt-location-address span {
    color: #555555;

    font-size: 13px;

    line-height: 1.55;
}


/* =========================================
   MAP
   ========================================= */

.blt-location-map {
    width: 100%;

    height: 280px;

    background: #eeeeee;

    overflow: hidden;
}


.blt-location-map iframe {
    display: block;

    width: 100%;
    height: 100%;

    border: 0;
}


/* =========================================
   DIRECTIONS BUTTON
   ========================================= */

.blt-location-button {
    display: flex;

    align-items: center;
    justify-content: center;

    gap: 10px;

    min-height: 47px;

    background: #f48221;

    color: #ffffff;

    border: 2px solid #f48221;

    font-size: 13px;

    font-weight: 700;

    text-decoration: none;

    transition:
        background 0.25s ease,
        border-color 0.25s ease;
}


.blt-location-button span {
    font-size: 17px;

    transition: transform 0.25s ease;
}


.blt-location-button:hover {
    background: #c25e0a;

    color: #ffffff;

    border-color: #ffffff;
}


.blt-location-button:hover span {
    transform: translateX(4px);
}


/* =========================================
   TABLET
   ========================================= */

@media (max-width: 800px) {

    .blt-contact-locations {
        padding: 65px 18px 70px;
    }


    .blt-location-grid {
        gap: 18px;
    }


    .blt-location-map {
        height: 260px;
    }

}


/* =========================================
   MOBILE
   ========================================= */

@media (max-width: 767px) {

    .blt-contact-locations {
        padding: 55px 15px 60px;
    }


    .blt-contact-locations-heading {
        margin-bottom: 30px;
    }


    .blt-contact-locations-heading h2 {
        font-size: 32px;

        letter-spacing: -0.6px;
    }


    .blt-contact-locations-heading p {
        font-size: 13.5px;

        line-height: 1.6;
    }


    .blt-location-grid {
        grid-template-columns: 1fr;

        gap: 20px;
    }


    .blt-location-card-header {
        padding: 20px 19px 11px;
    }


    .blt-location-address {
        padding: 0 19px 17px;
    }


    .blt-location-map {
        height: 250px;
    }

}


/* =========================================
   SMALL MOBILE
   ========================================= */

@media (max-width: 480px) {

    .blt-contact-locations {
        padding: 48px 12px 55px;
    }


    .blt-contact-locations-heading h2 {
        font-size: 29px;
    }


    .blt-location-card-header {
        gap: 11px;

        padding: 18px 16px 10px;
    }


    .blt-location-icon {
        flex-basis: 42px;

        width: 42px;
        height: 42px;

        font-size: 16px;
    }


    .blt-location-card-header h3 {
        font-size: 20px;
    }


    .blt-location-address {
        padding: 0 16px 15px;
    }


    .blt-location-map {
        height: 235px;
    }

}/* End custom CSS */