@font-face {
	font-weight: normal;
	font-style: normal;
	font-family: "woodmart-font";
	src: url("//www.aotutors.com/wp-content/themes/woodmart/fonts/woodmart-font-1-400.woff2?v=8.3.9") format("woff2");
}

:root {
	--wd-text-font: "Inter", Arial, Helvetica, sans-serif;
	--wd-text-font-weight: 400;
	--wd-text-color: #767676;
	--wd-text-font-size: 16px;
	--wd-title-font: "Roboto", Arial, Helvetica, sans-serif;
	--wd-title-font-weight: 700;
	--wd-title-color: #242424;
	--wd-entities-title-font: "Roboto", Arial, Helvetica, sans-serif;
	--wd-entities-title-font-weight: 700;
	--wd-entities-title-color: rgb(51,51,51);
	--wd-entities-title-color-hover: rgb(51 51 51 / 65%);
	--wd-alternative-font: "Roboto", Arial, Helvetica, sans-serif;
	--wd-widget-title-font: "Roboto", Arial, Helvetica, sans-serif;
	--wd-widget-title-font-weight: 700;
	--wd-widget-title-transform: uppercase;
	--wd-widget-title-color: #333;
	--wd-widget-title-font-size: 16px;
	--wd-header-el-font: "Roboto", Arial, Helvetica, sans-serif;
	--wd-header-el-font-weight: 500;
	--wd-header-el-transform: uppercase;
	--wd-header-el-font-size: 13px;
	--wd-otl-style: dotted;
	--wd-otl-width: 2px;
	--wd-primary-color: rgb(40,57,73);
	--wd-alternative-color: #fbbc34;
	--btn-default-bgcolor: #f7f7f7;
	--btn-default-bgcolor-hover: #efefef;
	--btn-accented-bgcolor: rgb(26,61,151);
	--btn-accented-bgcolor-hover: rgb(24,56,137);
	--wd-form-brd-width: 2px;
	--notices-success-bg: #459647;
	--notices-success-color: #fff;
	--notices-warning-bg: #E0B252;
	--notices-warning-color: #fff;
	--wd-link-color: #333333;
	--wd-link-color-hover: #242424;
}
.wd-age-verify-wrap {
	--wd-popup-width: 500px;
}
.wd-popup.wd-promo-popup {
	background-color: rgb(229,229,229);
	background-image: none;
	background-repeat: no-repeat;
	background-size: contain;
	background-position: left center;
}
.wd-promo-popup-wrap {
	--wd-popup-width: 800px;
}
:is(.woodmart-woocommerce-layered-nav, .wd-product-category-filter) .wd-scroll-content {
	max-height: 223px;
}
.wd-page-title .wd-page-title-bg img {
	object-fit: cover;
	object-position: center center;
}
.wd-footer {
	background-color: rgb(40,57,73);
	background-image: none;
}
html .wd-nav.wd-nav-main > li > a {
	font-family: "Lora", Arial, Helvetica, sans-serif;
	text-transform: capitalize;
}
.page .wd-page-content {
	background-color: rgb(244,243,242);
	background-image: none;
}
.mfp-wrap.wd-popup-quick-view-wrap {
	--wd-popup-width: 920px;
}
:root{
--wd-container-w: 1222px;
--wd-form-brd-radius: 0px;
--btn-default-color: #333;
--btn-default-color-hover: #333;
--btn-accented-color: #fff;
--btn-accented-color-hover: #fff;
--btn-default-brd-radius: 0px;
--btn-default-box-shadow: none;
--btn-default-box-shadow-hover: none;
--btn-default-box-shadow-active: none;
--btn-default-bottom: 0px;
--btn-accented-bottom-active: -1px;
--btn-accented-brd-radius: 0px;
--btn-accented-box-shadow: inset 0 -2px 0 rgba(0, 0, 0, .15);
--btn-accented-box-shadow-hover: inset 0 -2px 0 rgba(0, 0, 0, .15);
--wd-brd-radius: 0px;
}

@media (min-width: 1222px) {
[data-vc-full-width]:not([data-vc-stretch-content]),
:is(.vc_section, .vc_row).wd-section-stretch {
padding-left: calc((100vw - 1222px - var(--wd-sticky-nav-w) - var(--wd-scroll-w)) / 2);
padding-right: calc((100vw - 1222px - var(--wd-sticky-nav-w) - var(--wd-scroll-w)) / 2);
}
}


.wd-page-title {
background-color: #0a0a0a;
}

/* =========================================
   AO TUTORS - HEADER
   ========================================= */

/* Header consultation button - normal case */
.whb-header .wd-button-wrapper a {
    text-transform: none !important;
}

/* Remove gap between header and homepage */
.home #main-content {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}


/* =========================================
   AO TUTORS - HOMEPAGE HERO
   ========================================= */

.ao-new-hero {
    position: relative;
    display: grid;
    grid-template-columns: 48% 52%;
	width: calc(100% + 30px);
margin-left: -15px;
    min-height: 680px;
    overflow: hidden;
    background: #F8F7F4;
}


/* =========================================
   LEFT CONTENT
   ========================================= */

.ao-new-hero__content {
    position: relative;
    z-index: 3;

    display: flex;
    flex-direction: column;
    justify-content: center;

    padding: 70px 65px 145px 6vw;
}


/* Small Aspire Oxbridge line */

.ao-new-hero__eyebrow {
    display: flex;
    align-items: center;
    gap: 18px;

    margin-bottom: 30px;

    font-size: 13px;
    font-weight: 500;
    letter-spacing: 2.5px;
    text-transform: uppercase;

    color: #555B64;
}

.ao-new-hero__eyebrow span {
    display: block;

    width: 48px;
    height: 1px;

    background: #D9B36C;
}


/* Main H1 */

.ao-new-hero h1 {
    max-width: 820px;

    margin: 0 0 30px;

    font-family: "Lora", serif;
    font-size: clamp(48px, 4.3vw, 76px);
    font-weight: 400;
    line-height: 1.04;
    letter-spacing: -2px;

    color: #0B223B;
}

.ao-new-hero h1 em {
    display: inline;

    font-weight: 400;

    color: #0B223B;
}


/* Supporting paragraph */

.ao-new-hero__intro {
    max-width: 650px;

    margin: 0 0 34px;

    font-size: 18px;
    line-height: 1.65;

    color: #545B64;
}


/* =========================================
   HERO BUTTONS
   ========================================= */

.ao-new-hero__buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
}

.ao-new-hero .ao-btn {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;

    gap: 28px;

    min-height: 58px;

    padding: 0 26px;

    border-radius: 30px;

    font-size: 16px;
    font-weight: 600;
    line-height: 1;

    text-transform: none !important;
    text-decoration: none !important;

    transition: all 0.2s ease;
}

.ao-new-hero .ao-btn span {
    font-size: 27px;
    font-weight: 300;
    line-height: 1;
}


/* Primary button */

.ao-new-hero .ao-btn-primary {
    background: #0B223B;

    border: 1px solid #0B223B;

    color: #FFFFFF !important;
}


/* Outline button */

.ao-new-hero .ao-btn-outline {
    background: transparent;

    border: 1px solid #0B223B;

    color: #0B223B !important;
}


/* =========================================
   RIGHT HERO IMAGE
   ========================================= */

.ao-new-hero__image {
    position: relative;

    min-height: 680px;

    overflow: hidden;
}

.ao-new-hero__image img {
    position: absolute;
    inset: 0;

    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: center center;
}


/* Soft transition between left panel and image */

.ao-new-hero__image::after {
    content: "";

    position: absolute;
    inset: 0 auto 0 0;

    width: 130px;

    background: linear-gradient(
        90deg,
        #F8F7F4 0%,
        rgba(248, 247, 244, 0.85) 28%,
        rgba(248, 247, 244, 0) 100%
    );

    pointer-events: none;
}


/* =========================================
   BOTTOM FEATURE STRIP
   ========================================= */

.ao-new-hero__strip {
    position: absolute;
    z-index: 5;

    left: 5vw;
    bottom: 0;

    width: min(1120px, 72%);

    display: grid;
    grid-template-columns: repeat(3, 1fr);

  background: rgba(248, 247, 244, 0.94);
	border-radius: 0 25px 0 0;
overflow: hidden;
	
}

.ao-new-hero__strip-item {
    padding: 27px 26px;

    border-right: 1px solid rgba(11, 34, 59, 0.12);
}

.ao-new-hero__strip-item:last-child {
    border-right: none;
}

.ao-new-hero__strip-item strong {
    display: block;

    margin-bottom: 6px;

    font-size: 15px;
    font-weight: 600;

    color: #0B223B;
}

.ao-new-hero__strip-item span {
    display: block;

    font-size: 13px;
    line-height: 1.45;

    color: #666C73;
}


/* =========================================
   TABLET
   ========================================= */

@media (max-width: 1024px) {

    .ao-new-hero {
        grid-template-columns: 1fr 1fr;
        min-height: 600px;
    }

    .ao-new-hero__content {
        padding: 55px 40px 135px 40px;
    }

    .ao-new-hero__image {
        min-height: 600px;
    }

    .ao-new-hero__strip {
        left: 30px;

        width: calc(100% - 60px);
    }
}


/* =========================================
   MOBILE
   ========================================= */

@media (max-width: 767px) {

    .ao-new-hero {
        display: flex;
        flex-direction: column;

        min-height: auto;
    }

    .ao-new-hero__content {
        order: 1;

        padding: 50px 24px 35px;
    }

    .ao-new-hero__eyebrow {
        margin-bottom: 22px;

        font-size: 11px;
    }

    .ao-new-hero h1 {
        font-size: 43px;
        line-height: 1.06;
        letter-spacing: -1px;
    }

    .ao-new-hero__intro {
        font-size: 16px;
    }

    .ao-new-hero__buttons {
        flex-direction: column;
        align-items: flex-start;
    }

    .ao-new-hero .ao-btn {
        width: 100%;
        max-width: 340px;
    }

    .ao-new-hero__image {
        order: 2;

        position: relative;

        min-height: 400px;
    }

    .ao-new-hero__image::after {
        display: none;
    }

    .ao-new-hero__strip {
        order: 3;

        position: relative;

        left: auto;
        bottom: auto;

        width: 100%;

        grid-template-columns: 1fr;
    }

    .ao-new-hero__strip-item {
        padding: 20px 24px;

        border-right: none;
        border-bottom: 1px solid rgba(11, 34, 59, 0.12);
    }

    .ao-new-hero__strip-item:last-child {
        border-bottom: none;
    }
}

/* =========================================
   AO TUTORS - CORE PILLARS
   ========================================= */

.ao-pillars-section {
    background: #F8F7F4;
    padding: 50px 6vw 55px;
}


/* =========================================
   SECTION INTRO
   ========================================= */

.ao-pillars-intro {
    max-width: 760px;
    margin: 0 auto 55px;
    text-align: center;
}

.ao-pillars-eyebrow {
    position: relative;
    display: inline-block;

    margin-bottom: 14px;

    font-size: 12px;
    font-weight: 500;
    letter-spacing: 2.5px;
    text-transform: uppercase;

    color: #5C6470;
}

.ao-pillars-eyebrow::before {
    content: "";

    position: absolute;
    top: 50%;
    right: calc(100% + 18px);

    width: 45px;
    height: 1px;

    background: #D9B36C;
}

.ao-pillars-intro h2 {
    margin: 0 0 16px;

    font-family: "Lora", serif;
    font-size: 48px;
    font-weight: 400;
    line-height: 1.1;

    color: #0B223B;
}

.ao-pillars-intro p {
    max-width: 650px;
    margin: 0 auto;

    font-size: 16px;
    line-height: 1.65;

    color: #666C73;
}


/* =========================================
   THREE COLUMN GRID
   ========================================= */

.ao-pillars-grid {
    width: 100% !important;
    max-width: 1280px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    float: none !important;
}

.ao-pillars-grid.vc_row {
    left: auto !important;
    right: auto !important;
}


/* Vertical divider between columns */

.ao-pillars-grid > .wpb_column {
    position: relative;
}

.ao-pillars-grid > .wpb_column:not(:last-child)::after {
    content: "";

    position: absolute;
    top: 120px;
    right: -15px;
    bottom: 5px;

    width: 1px;

    background: rgba(11, 34, 59, 0.12);
}


/* =========================================
   INDIVIDUAL PILLAR
   ========================================= */

.ao-pillar-card {
    position: relative;
    text-align: center;
}

/* Decorative circles behind pillar images */

.ao-pillars-grid > .wpb_column:nth-child(1) .ao-pillar-card::before,
.ao-pillars-grid > .wpb_column:nth-child(3) .ao-pillar-card::before {
    content: "";
    position: absolute;
    width: 105px;
    height: 105px;
    border-radius: 50%;
    top: -18px;
    left: 28px;
    z-index: 0;
}

.ao-pillars-grid > .wpb_column:nth-child(1) .ao-pillar-card::before {
    background: rgba(217, 179, 108, 0.55);
}

.ao-pillars-grid > .wpb_column:nth-child(3) .ao-pillar-card::before {
    background: rgba(214, 220, 228, 0.55);
}

.ao-pillar-image {
    position: relative;
    z-index: 1;
}

/* Image */

.ao-pillar-image {
    position: relative;

    width: 100%;
    max-width: 360px;
    height: 285px;

    margin: 0 auto 0;

    overflow: hidden;

    border-radius: 150px 150px 0 0;
}

.ao-pillar-image img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;
    object-position: center;
}


/* =========================================
   ICON CIRCLE
   ========================================= */

.ao-pillar-icon {
    position: relative;
    z-index: 3;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 58px;
    height: 58px;

    margin: -22px auto 14px;

    border: 1px solid rgba(11, 34, 59, 0.14);
    border-radius: 50%;

    background: #FFFFFF;

    font-size: 22px;
    line-height: 1;

    color: #D9B36C;
}

.ao-pillar-icon svg {
    width: 26px;
    height: 26px;
    fill: none;
    stroke: #D9B36C;
    stroke-width: 1.6;
    stroke-linecap: round;
    stroke-linejoin: round;
}


/* =========================================
   TEXT
   ========================================= */

.ao-pillar-content {
    padding: 0 28px;
}

.ao-pillar-content h3 {
    margin: 0 0 10px;

    font-family: "Lora", serif;
    font-size: 23px;
    font-weight: 500;
    line-height: 1.25;

    color: #0B223B;
}

.ao-pillar-content p {
    max-width: 330px;

    margin: 0 auto;

    font-size: 14px;
    line-height: 1.6;

    color: #666C73;
}


/* =========================================
   TABLET
   ========================================= */

@media (max-width: 1024px) {

    .ao-pillars-section {
        padding: 70px 35px 80px;
    }

    .ao-pillars-intro h2 {
        font-size: 42px;
    }

    .ao-pillar-image {
        height: 235px;
    }

    .ao-pillar-content {
        padding: 0 18px;
    }
}


/* =========================================
   MOBILE
   ========================================= */

@media (max-width: 767px) {

    .ao-pillars-section {
        padding: 60px 22px 70px;
    }

    .ao-pillars-intro {
        margin-bottom: 40px;
    }

    .ao-pillars-intro h2 {
        font-size: 38px;
    }

    .ao-pillars-intro p {
        font-size: 15px;
    }

    .ao-pillars-grid > .wpb_column {
        margin-bottom: 45px;
    }

    .ao-pillars-grid > .wpb_column:last-child {
        margin-bottom: 0;
    }

    .ao-pillars-grid > .wpb_column::after {
        display: none !important;
    }

    .ao-pillar-image {
        max-width: 400px;
        height: 300px;
    }

    .ao-pillar-content h3 {
        font-size: 22px;
    }
}

/* Remove WPBakery default gap underneath homepage hero */
.home .wpb_raw_code.wpb_raw_html.wpb_content_element:has(.ao-new-hero) {
    margin-bottom: 0 !important;
}

/* =========================================
   AO TUTORS - WHY CHOOSE US
   ========================================= */

.ao-why-section {
    position: relative;
    overflow: hidden;

    background: #0B223B;
    color: #FFFFFF;

    padding: 50px 6vw 50px;
}


/* =========================================
   DECORATIVE BACKGROUND DETAILS
   ========================================= */

.ao-why-section::before {
    content: "";
    position: absolute;

    width: 430px;
    height: 430px;

    left: -250px;
    bottom: -245px;

    border-radius: 50%;

    border: 2px solid rgba(217, 179, 108, 0.9);

    pointer-events: none;
}

.ao-why-section::after {
    content: "";
    position: absolute;

    width: 330px;
    height: 330px;

    right: -190px;
    top: -210px;

    border-radius: 50%;

    border: 2px solid rgba(217, 179, 108, 0.25);

    pointer-events: none;
}


/* Make all four columns sit above decorations */

.ao-why-section > .wpb_column {
    position: relative;
    z-index: 2;
}


/* =========================================
   LEFT HEADING
   ========================================= */

.ao-why-heading {
    height: 100%;

    display: flex;
    flex-direction: column;
    justify-content: center;

    padding-right: 55px;
}

.ao-why-line {
    display: block;

    width: 70px;
    height: 2px;

    margin-bottom: 30px;

    background: #D9B36C;
}

.ao-why-heading h2 {
    margin: 0;

    font-family: "Lora", serif;
    font-size: clamp(54px, 4vw, 76px);
    font-weight: 400;
    line-height: 1.02;
    letter-spacing: -2px;

    color: #FFFFFF;
}

.ao-why-heading h2 em {
    font-weight: 400;
    color: #D9B36C;
}


/* =========================================
   FEATURE COLUMNS
   ========================================= */

.ao-why-item {
    height: 100%;

    display: flex;
    flex-direction: column;
    justify-content: center;

    padding: 10px 38px 10px;
}


/* Divider between Teachers / Mentors */

.ao-why-section > .wpb_column:nth-child(3),
.ao-why-section > .wpb_column:nth-child(4) {
    border-left: 1px solid rgba(217, 179, 108, 0.45);
}


/* =========================================
   ICON + NUMBER
   ========================================= */

.ao-why-top {
    display: flex;
    align-items: center;
    gap: 24px;

    margin-bottom: 30px;
}

.ao-why-icon {
    width: 100px;
    height: 100px;

    flex: 0 0 100px;

    display: flex;
    align-items: center;
    justify-content: center;

    border: 2px solid #D9B36C;
    border-radius: 50%;
}

.ao-why-icon svg {
    width: 48px;
    height: 48px;

    fill: none;
    stroke: #D9B36C;
    stroke-width: 1.6;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.ao-why-number {
    display: flex;
    flex-direction: column;
    align-items: flex-start;

    color: #D9B36C;
}

.ao-why-number span {
    font-family: "Lora", serif;
    font-size: 27px;
    font-weight: 500;
    line-height: 1;
}

.ao-why-number i {
    display: block;

    width: 42px;
    height: 1px;

    margin-top: 17px;

    background: #D9B36C;
}


/* =========================================
   FEATURE TEXT
   ========================================= */

.ao-why-item h3 {
    margin: 0 0 20px;

    font-family: "Lora", serif;
    font-size: 31px;
    font-weight: 400;
    line-height: 1.15;

    color: #FFFFFF;
}

.ao-why-item p {
    max-width: 315px;

    margin: 0;

    font-size: 16px;
    line-height: 1.65;

    color: rgba(255, 255, 255, 0.78);
}


/* =========================================
   TABLET
   ========================================= */

@media (max-width: 1024px) {

    .ao-why-section {
        padding: 75px 35px;
    }

    .ao-why-heading {
        padding-right: 25px;
    }

    .ao-why-heading h2 {
        font-size: 48px;
    }

    .ao-why-item {
        padding: 10px 22px;
    }

    .ao-why-icon {
        width: 78px;
        height: 78px;
        flex-basis: 78px;
    }

    .ao-why-icon svg {
        width: 38px;
        height: 38px;
    }

    .ao-why-item h3 {
        font-size: 25px;
    }

    .ao-why-item p {
        font-size: 14px;
    }
}


/* =========================================
   MOBILE
   ========================================= */

@media (max-width: 767px) {

    .ao-why-section {
        padding: 60px 24px 65px;
    }

    .ao-why-heading {
        padding: 0 0 45px;
    }

    .ao-why-heading h2 {
        font-size: 48px;
    }

    .ao-why-line {
        margin-bottom: 22px;
    }

    .ao-why-section > .wpb_column:nth-child(3),
    .ao-why-section > .wpb_column:nth-child(4) {
        border-left: none;
    }

    .ao-why-item {
        padding: 35px 0;

        border-top: 1px solid rgba(217, 179, 108, 0.35);
    }

    .ao-why-top {
        margin-bottom: 22px;
    }

    .ao-why-icon {
        width: 76px;
        height: 76px;
        flex-basis: 76px;
    }

    .ao-why-icon svg {
        width: 36px;
        height: 36px;
    }

    .ao-why-item h3 {
        font-size: 27px;
        margin-bottom: 14px;
    }

    .ao-why-item p {
        max-width: 100%;

        font-size: 15px;
    }

    .ao-why-section::before,
    .ao-why-section::after {
        opacity: 0.4;
    }
}

/* =========================================
   AO TUTORS - CONTACT / QUESTIONS SECTION
   ========================================= */

.ao-contact-section {
    position: relative;
    overflow: hidden;

    background: #F8F7F4;

    padding: 55px 6vw 60px;
}


/* Keep content above decorative shapes */

.ao-contact-section > .wpb_column {
    position: relative;
    z-index: 2;
}


/* =========================================
   DECORATIVE BACKGROUND CIRCLES
   ========================================= */

.ao-contact-section::before {
    content: "";
    position: absolute;

    width: 330px;
    height: 330px;

    left: -230px;
    top: 55px;

    border: 2px solid rgba(217, 179, 108, 0.28);
    border-radius: 50%;

    pointer-events: none;
}

.ao-contact-section::after {
    content: "";
    position: absolute;

    width: 320px;
    height: 320px;

    right: -200px;
    bottom: -180px;

    border: 2px solid rgba(217, 179, 108, 0.65);
    border-radius: 50%;

    pointer-events: none;
}


/* =========================================
   LEFT SIDE
   ========================================= */

.ao-contact-left {
    padding-right: 0px;
    text-align: center;
}

.ao-contact-line {
    display: block;

    width: 58px;
    height: 2px;

    margin: 0 auto 24px;

    background: #D9B36C;
}


.ao-contact-left h2 {
    margin: 0 auto 20px;

    font-family: "Lora", serif;
    font-size: clamp(40px, 3.4vw, 58px);
    font-weight: 400;
    line-height: 1.04;
    letter-spacing: -1.5px;

    color: #0B223B;
}

.ao-contact-left h2 em {
    font-weight: 400;
    color: #D9B36C;
}


.ao-contact-intro {
    max-width: 460px;
    margin: 0 auto 30px;

    font-size: 16px;
    line-height: 1.6;

    color: #545B64;
}


/* =========================================
   THREE CONTACT BENEFITS
   ========================================= */

.ao-contact-benefits {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
}

.ao-contact-benefit {
    position: relative;

    text-align: center;

    padding: 0 18px;
}

.ao-contact-benefit:not(:last-child) {
    border-right: 1px solid rgba(11, 34, 59, 0.14);
}


/* Icon circles */

.ao-contact-benefit-icon {
    width: 60px;
    height: 60px;

    margin: 0 auto 14px;

    display: flex;
    align-items: center;
    justify-content: center;

    border: 1.5px solid #D9B36C;
    border-radius: 50%;
}

.ao-contact-benefit-icon svg {
    width: 28px;
    height: 28px;

    fill: none;
    stroke: #D9B36C;
    stroke-width: 1.6;
    stroke-linecap: round;
    stroke-linejoin: round;
}


/* Benefit headings */

.ao-contact-benefit h3 {
    margin: 0;

    font-family: "Lora", serif;
    font-size: 17px;
    font-weight: 500;
    line-height: 1.25;

    color: #0B223B;
}


/* =========================================
   FORM CARD
   ========================================= */

.ao-contact-section .frm_forms {
    position: relative;
    z-index: 3;

 width: 700px !important;
max-width: 100% !important;

margin-left: auto !important;
margin-right: auto !important;
	
box-sizing: border-box;

    background: #FFFFFF;

    padding: 28px 30px;

    border-radius: 18px;

    box-shadow: 0 10px 32px rgba(11, 34, 59, 0.07);
}


/* Form spacing */

.ao-contact-section .frm_forms .frm_form_field {
    margin-bottom: 14px;
}


/* Labels */

.ao-contact-section .frm_forms label {
    font-size: 14px !important;
    font-weight: 500 !important;

    color: #0B223B !important;
}


/* Input fields */

.ao-contact-section .frm_forms input[type="text"],
.ao-contact-section .frm_forms input[type="email"],
.ao-contact-section .frm_forms input[type="tel"],
.ao-contact-section .frm_forms textarea,
.ao-contact-section .frm_forms select {

    width: 100% !important;

    min-height: 46px;

    padding: 10px 14px !important;

    background: #FFFFFF !important;

    border: 1px solid #D7DDE3 !important;
    border-radius: 9px !important;

    box-shadow: none !important;

    color: #0B223B !important;
}


/* Message field */

.ao-contact-section .frm_forms textarea {
    min-height: 85px;
    resize: vertical;
}


/* Focus state */

.ao-contact-section .frm_forms input:focus,
.ao-contact-section .frm_forms textarea:focus,
.ao-contact-section .frm_forms select:focus {
    border-color: #D9B36C !important;
    outline: none !important;
}


/* =========================================
   SUBMIT BUTTON
   ========================================= */

.ao-contact-section .frm_forms button[type="submit"],
.ao-contact-section .frm_forms input[type="submit"] {

    min-height: 46px;

    padding: 0 26px !important;

    background: #0B223B !important;

    border: 1px solid #0B223B !important;
    border-radius: 24px !important;

    color: #FFFFFF !important;

    font-size: 14px !important;
    font-weight: 600 !important;

    text-transform: none !important;

    box-shadow: none !important;
}


/* Button hover */

.ao-contact-section .frm_forms button[type="submit"]:hover,
.ao-contact-section .frm_forms input[type="submit"]:hover {
    background: #D9B36C !important;
    border-color: #D9B36C !important;

    color: #0B223B !important;
}


/* =========================================
   REMOVE WPBAKERY DEFAULT ELEMENT GAPS
   ========================================= */

.ao-contact-section .wpb_raw_code,
.ao-contact-section .wpb_content_element {
    margin-bottom: 0;
}


/* =========================================
   TABLET
   ========================================= */

@media (max-width: 1024px) {

    .ao-contact-section {
        padding: 50px 35px 55px;
    }

    .ao-contact-left {
        padding-right: 30px;
    }

    .ao-contact-left h2 {
        font-size: 44px;
    }

    .ao-contact-benefit {
        padding: 0 10px;
    }

    .ao-contact-benefit h3 {
        font-size: 16px;
    }

    .ao-contact-section .frm_forms {
        padding: 25px;
    }
}


/* =========================================
   MOBILE
   ========================================= */

@media (max-width: 767px) {

    .ao-contact-section {
        padding: 45px 22px 50px;
    }

    .ao-contact-left {
        padding-right: 0;
        margin-bottom: 35px;
    }

    .ao-contact-left h2 {
        font-size: 40px;
        letter-spacing: -1px;
    }

    .ao-contact-intro {
        font-size: 16px;
        margin-bottom: 28px;
    }

    .ao-contact-benefits {
        grid-template-columns: repeat(3, 1fr);
    }

    .ao-contact-benefit {
        padding: 0 7px;
    }

    .ao-contact-benefit-icon {
        width: 54px;
        height: 54px;
    }

    .ao-contact-benefit-icon svg {
        width: 25px;
        height: 25px;
    }

    .ao-contact-benefit h3 {
        font-size: 14px;
    }

    .ao-contact-section .frm_forms {
        padding: 22px 18px;

        border-radius: 15px;
    }

    .ao-contact-section::before,
    .ao-contact-section::after {
        opacity: 0.5;
    }
}

/* =========================================
   AO TUTORS - STUDENT REVIEWS
   ========================================= */

.ao-reviews-section {
    position: relative;
    overflow: hidden;

    background: #F8F7F4;

    padding: 60px 6vw 70px;
}


/* =========================================
   DECORATIVE BACKGROUND
   ========================================= */

.ao-reviews-section::before {
    content: "";
    position: absolute;

    width: 360px;
    height: 360px;

    left: -245px;
    top: 70px;

    border: 1.5px solid rgba(217, 179, 108, 0.50);
    border-radius: 50%;

    pointer-events: none;
}

.ao-reviews-section::after {
    content: "";
    position: absolute;

    width: 340px;
    height: 340px;

    right: -230px;
    bottom: -200px;

    border: 1.5px solid rgba(217, 179, 108, 0.45);
    border-radius: 50%;

    pointer-events: none;
}

.ao-reviews-section > .wpb_column {
    position: relative;
    z-index: 2;
}


/* =========================================
   SECTION TITLE
   ========================================= */

.ao-reviews-section .title-wrapper {
    margin-bottom: 38px !important;
    text-align: center;
}

.ao-reviews-section .title-subtitle {
    margin-bottom: 12px !important;

    font-size: 12px !important;
    font-weight: 500 !important;
    letter-spacing: 3px !important;

    color: #0B223B !important;
}

.ao-reviews-section .title-subtitle::after {
    content: "";
    display: block;

    width: 55px;
    height: 1px;

    margin: 13px auto 0;

    background: #D9B36C;
}

.ao-reviews-section .title {
    margin: 0 !important;

    font-family: "Lora", serif !important;
    font-size: 48px !important;
    font-weight: 400 !important;
    line-height: 1.1 !important;

    color: #0B223B !important;
}


/* =========================================
   CAROUSEL WIDTH
   ========================================= */

.ao-reviews-carousel {
    width: 100%;
    max-width: 1320px;

    margin-left: auto;
    margin-right: auto;
}


/* Space between slides */

.ao-reviews-carousel .wd-testimon.wd-carousel-item {
    box-sizing: border-box !important;
    padding: 34px 36px 32px !important;
}
 .ao-reviews-carousel .wd-carousel-wrap {
    gap: 0 !important;
}


/* =========================================
   REVIEW CARD
   ========================================= */

.ao-reviews-carousel .wd-testimon {
    position: relative;
    isolation: isolate;

    min-height: 300px;

    padding: 34px 36px 30px !important;

    display: flex;
    flex-direction: column;

    background: transparent !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}
.ao-reviews-carousel .wd-testimon::after {
    content: "";

    position: absolute;
    z-index: -1;

    top: 10px;
    right: 14px;
    bottom: 10px;
    left: 14px;

    background: #FFFFFF;

    border-radius: 18px;

    box-shadow: 0 6px 18px rgba(11, 34, 59, 0.045);
}

/* =========================================
   QUOTE CIRCLE
   ========================================= */

.ao-reviews-carousel .wd-testimon::before {
    content: "“";

    order: 1;

    width: 58px;
    height: 58px;

    display: flex;
    align-items: center;
    justify-content: center;

    flex: 0 0 58px;

    margin-bottom: 24px;

    background: rgba(217, 179, 108, 0.14);

    border: 1px solid rgba(217, 179, 108, 0.25);
    border-radius: 50%;

    font-family: Georgia, serif;
    font-size: 42px;
    line-height: 1;

    color: #D9B36C;
}


/* =========================================
   REVIEW TEXT
   ========================================= */

.ao-reviews-carousel .wd-testimon-text {
    order: 2;

    position: static !important;

    flex-grow: 0;

    margin: 0 !important;
    padding: 0 !important;

    background: transparent !important;

    border: 0 !important;
    border-radius: 0 !important;

    box-shadow: none !important;


    font-family: "Lora", serif;
    font-size: 19px;
    font-weight: 400;
    line-height: 1.55;

    color: #0B223B !important;
}


/* Remove old WoodMart speech bubble triangle */

.ao-reviews-carousel .wd-testimon-text::before,
.ao-reviews-carousel .wd-testimon-text::after {
    display: none !important;
}


/* =========================================
   TESTIMONIAL INFO / NAME / STARS
   ========================================= */

.ao-reviews-carousel .wd-testimon-info {
    order: 3;

    width: 100%;

    margin-top: auto !important;
    padding-top: 22px;
}


/* Keep bio as a normal block */

.ao-reviews-carousel .wd-testimon-bio {
    display: block !important;
}


/* Student name */

.ao-reviews-carousel .wd-testimon-name {
    position: relative;

    margin: 0 !important;
    padding-top: 18px;

    font-family: "Lora", serif !important;
    font-size: 17px !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;

    color: #0B223B !important;
}


/* Gold line above student name */

.ao-reviews-carousel .wd-testimon-name::before {
    content: "";

    display: block;

    width: 48px;
    height: 2px;

    margin-bottom: 16px;

    background: #D9B36C;
}


/* =========================================
   STAR RATING
   ========================================= */

.ao-reviews-carousel .star-rating {
    position: absolute !important;

    top: 45px;
    right: 32px;

    margin: 0 !important;

    color: #D9B36C !important;
}

.ao-reviews-carousel .star-rating::before,
.ao-reviews-carousel .star-rating span::before {
    color: #D9B36C !important;
}


/* =========================================
   CAROUSEL DOTS
   ========================================= */

.ao-reviews-section .wd-nav-pagin-wrap {
    margin-top: 18px !important;
}

.ao-reviews-section .wd-nav-pagin {
    gap: 8px;
}


/* =========================================
   CAROUSEL ARROWS
   ========================================= */

.ao-reviews-section .wd-btn-arrow {
    width: 48px !important;
    height: 48px !important;

    background: #FFFFFF !important;

    border: 1px solid rgba(11, 34, 59, 0.14) !important;
    border-radius: 50% !important;

    box-shadow: 0 4px 15px rgba(11, 34, 59, 0.06);

    color: #0B223B !important;
}


/* =========================================
   REMOVE DEFAULT WPBAKERY GAP
   ========================================= */

.ao-reviews-section .wpb_content_element {
    margin-bottom: 0;
}


/* =========================================
   TABLET
   ========================================= */

@media (max-width: 1024px) {

    .ao-reviews-section {
        padding: 55px 35px 60px;
    }

    .ao-reviews-section .title {
        font-size: 42px !important;
    }

    .ao-reviews-carousel .wd-testimon {
        min-height: 330px;

        padding: 30px 27px 27px !important;
    }

    .ao-reviews-carousel .wd-testimon-text {
        font-size: 17px;
    }

    .ao-reviews-carousel .star-rating {
        top: 41px;
        right: 27px;
    }
}


/* =========================================
   MOBILE
   ========================================= */

@media (max-width: 767px) {

    .ao-reviews-section {
        padding: 50px 20px 55px;
    }

    .ao-reviews-section .title-wrapper {
        margin-bottom: 28px !important;
    }

    .ao-reviews-section .title {
        font-size: 38px !important;
    }

    .ao-reviews-carousel .wd-testimon.wd-carousel-item {
        padding: 8px 4px 22px !important;
    }

    .ao-reviews-carousel .wd-testimon {
        min-height: 310px;

        padding: 26px 23px 25px !important;

        border-radius: 15px;
    }

    .ao-reviews-carousel .wd-testimon::before {
        width: 52px;
        height: 52px;

        flex-basis: 52px;

        font-size: 37px;
    }

    .ao-reviews-carousel .wd-testimon-text {
        font-size: 17px;
    }

    .ao-reviews-carousel .star-rating {
        top: 37px;
        right: 23px;
    }

    .ao-reviews-carousel .wd-testimon-name {
        font-size: 16px !important;
    }

    .ao-reviews-section::before,
    .ao-reviews-section::after {
        opacity: 0.4;
    }
}
@media (min-width: 1025px) {
    .ao-reviews-carousel .wd-testimon {
        height: 330px !important;
        min-height: 330px !important;
    }
}
/* =========================================
   AO TUTORS - ABOUT US / OUR MISSION
   ========================================= */

.ao-about-mission {
    position: relative;
    overflow: hidden;

    background: #F8F7F4;

    padding: 0 0 65px;
}


/* =========================================
   REMOVE DEFAULT WPBAKERY GAPS
   ========================================= */

.ao-about-mission .wpb_content_element,
.ao-about-mission .wpb_single_image,
.ao-about-mission .vc_figure {
    margin-bottom: 0 !important;
}


/* =========================================
   LEFT IMAGE - FILL ENTIRE COLUMN
   ========================================= */

.ao-about-mission .wpb_single_image,
.ao-about-mission .vc_figure,
.ao-about-mission .vc_single_image-wrapper {
    display: block !important;

    width: 100% !important;
    max-width: none !important;
}

.ao-about-mission .wpb_single_image img {
    display: block !important;

    width: 100% !important;
    max-width: none !important;
    height: 620px !important;

    object-fit: cover;
    object-position: center;

    border-radius: 0;
}


/* =========================================
   RIGHT COLUMN
   ========================================= */

.ao-about-mission > .wpb_column:last-child {
    position: relative;
    z-index: 2;

    display: flex;
    align-items: center;
}


/* =========================================
   GOLD FRAME BEHIND CARD
   ========================================= */

.ao-about-mission > .wpb_column:last-child::before {
    content: "";

    position: absolute;
    z-index: 1;

    width: 235px;
    height: 590px;

    left: 45px;
    top: 50%;

    transform: translateY(-50%);

    border: 1px solid #D9B36C;

    pointer-events: none;
}


/* =========================================
   WHITE OVERLAPPING CARD
   ========================================= */

.ao-about-mission-card {
    position: relative;
    z-index: 2;

width: 760px;
max-width: none;

margin-left: -185px;

padding: 72px 70px 76px;

    background: #FFFFFF;

    box-shadow: 0 12px 35px rgba(11, 34, 59, 0.06);
}


/* Remove old gold pseudo frame */

.ao-about-mission-card::before {
    display: none !important;
}


/* =========================================
   OUR MISSION
   ========================================= */

.ao-about-mission-label {
    margin-bottom: 18px;

    font-family: "Lora", serif;
    font-size: 18px;
    font-weight: 500;

    color: #0B223B;
}

.ao-about-mission-line {
    display: block;

    width: 58px;
    height: 2px;

    margin-bottom: 34px;

    background: #D9B36C;
}


/* =========================================
   ABOUT US H1
   ========================================= */

.ao-about-mission-card h1 {
    margin: 0 0 24px;

    font-family: "Lora", serif;
    font-size: clamp(48px, 4vw, 68px);
    font-weight: 400;
    line-height: 1.05;
    letter-spacing: -1.5px;

    color: #0B223B;
}


/* =========================================
   MISSION TEXT
   ========================================= */

.ao-about-mission-card p {
    max-width: 620px;

    margin: 0;

    font-size: 18px;
    line-height: 1.75;

    color: #545B64;
}


/* =========================================
   TABLET
   ========================================= */

@media (max-width: 1024px) {

    .ao-about-mission {
        padding: 45px 0 55px;
    }

    .ao-about-mission .wpb_single_image img {
        height: 520px !important;
    }

    .ao-about-mission-card {
        width: calc(100% + 70px);

        margin-left: -70px;

        padding: 52px 45px;
    }

    .ao-about-mission > .wpb_column:last-child::before {
        width: 190px;
        height: 590px;
        left: -20px;
    }

    .ao-about-mission-card h1 {
        font-size: 50px;
    }

    .ao-about-mission-card p {
        font-size: 16px;
    }
}


/* =========================================
   MOBILE
   ========================================= */

@media (max-width: 767px) {

    .ao-about-mission {
        padding: 0 0 45px;
    }

    .ao-about-mission > .wpb_column {
        width: 100% !important;
    }

    .ao-about-mission .wpb_single_image img {
        height: 360px !important;
    }

    .ao-about-mission > .wpb_column:last-child::before {
        display: none;
    }

    .ao-about-mission-card {
        width: calc(100% - 36px);

        margin: -45px auto 0;

        padding: 38px 26px 40px;
    }

    .ao-about-mission-label {
        font-size: 15px;

        margin-bottom: 13px;
    }

    .ao-about-mission-line {
        width: 45px;

        margin-bottom: 25px;
    }

    .ao-about-mission-card h1 {
        margin-bottom: 20px;

        font-size: 43px;
        letter-spacing: -1px;
    }

    .ao-about-mission-card p {
        font-size: 16px;
        line-height: 1.65;
    }
}

/* About Us page - remove gap below header */
.page-id-5212 #main-content {
    padding-top: 0 !important;
}

/* =========================================
   AO TUTORS - OUR VALUES SECTION
   ========================================= */

.ao-values-section {
    position: relative;
    overflow: hidden;

    background: #F8F7F4;

    padding: 80px 5vw;
}


/* =========================================
   LEFT INTRO COLUMN
   ========================================= */

.ao-values-section > .wpb_column:first-child {
    position: relative;
    z-index: 2;

    display: flex;
    align-items: flex-start;

    overflow: visible !important;
}


/* =========================================
   INTRO PANEL
   ========================================= */

/* =========================================
   ASPIRE INTRO - LEFT SIDE
   ========================================= */

.ao-values-intro h2 {
    margin: 0;

    font-family: "Lora", serif;
    font-size: 60px;
    font-weight: 400;
    line-height: 1.05;
    letter-spacing: -1.5px;

    color: #0B223B;
}

.ao-values-intro h2 span {
    color: #D9B36C;
}


/* Main gold frame */

.ao-values-intro::before {
    content: "";

    position: absolute;
    z-index: -1;

    top: 0;
    left: 0;

    width: 500px;
    height: 350px;

    border: 1px solid #D9B36C;

    pointer-events: none;
}


/* Second offset frame */

.ao-values-intro::after {
    content: "";

    position: absolute;
    z-index: -2;

    top: -38px;
    left: 90px;

    width: 455px;
    height: 425px;

    border: 1px solid #D9B36C;

    pointer-events: none;
}


/* =========================================
   OUR VALUES LABEL
   ========================================= */

.ao-values-label {
    margin-bottom: 15px;

    font-family: "Lora", serif;
    font-size: 17px;
    font-weight: 500;

    color: #0B223B;
}


.ao-values-line {
    display: block;

    width: 52px;
    height: 2px;

    margin-bottom: 30px;

    background: #D9B36C;
}


/* =========================================
   HEADING
   ========================================= */

.ao-values-intro h2 {
    margin: 0;

    font-family: "Lora", serif;
    font-size: 52px;
    font-weight: 400;
    line-height: 1.08;
    letter-spacing: -1px;

    color: #0B223B;
}


.ao-values-intro h2 span {
    color: #D9B36C;
}


/* =========================================
   TABLET
   ========================================= */

@media (max-width: 1024px) {

    .ao-values-section {
        padding: 65px 35px;
    }

    .ao-values-intro {
        padding: 45px 35px 50px;
    }

    .ao-values-intro h2 {
        font-size: 46px;
    }
}


/* =========================================
   MOBILE
   ========================================= */

@media (max-width: 767px) {

    .ao-values-section {
        padding: 55px 20px;
    }

    .ao-values-intro {
        max-width: none;

        padding: 40px 28px 44px;
    }

    .ao-values-intro::before {
        top: -18px;
        left: 18px;

        width: calc(100% - 5px);
        height: calc(100% + 36px);
    }

    .ao-values-intro h2 {
        font-size: 42px;
    }
}

/* =========================================
   AO TUTORS - ASPIRE VALUE CARDS
   ========================================= */

/* Right-hand card area */
.ao-values-section > .wpb_column:last-child {
    padding-left: 10px;
}


/* Nested rows */
.ao-values-section > .wpb_column:last-child .vc_inner {
    display: flex;
    align-items: stretch;

    margin-left: -10px;
    margin-right: -10px;
}


/* Gap between first and second row */
.ao-values-section > .wpb_column:last-child .vc_inner:first-child {
    margin-bottom: 20px;
}


/* Each 1/3 column */
.ao-values-section > .wpb_column:last-child .vc_inner > .wpb_column {
    display: flex;

    padding-left: 10px;
    padding-right: 10px;
}


/* Raw HTML wrapper */
.ao-values-section .wpb_raw_code,
.ao-values-section .wpb_raw_html,
.ao-values-section .wpb_wrapper {
    margin-bottom: 0;
}


/* =========================================
   CARD
   ========================================= */

.ao-value-card {
    position: relative;

    width: 100%;
    min-height: 270px;

    padding: 30px 28px 28px;

    box-sizing: border-box;

    background: #FFFFFF;

    border: 1px solid #EEE6D7;
    border-radius: 2px;

    box-shadow: 0 10px 30px #0B223B0D;
}


/* =========================================
   ICON
   ========================================= */

.ao-value-icon {
    width: 54px;
    height: 54px;

    display: flex;
    align-items: center;
    justify-content: center;

    margin-bottom: 24px;
}

.ao-value-icon svg {
    width: 48px;
    height: 48px;

    fill: none;

    stroke: #D9B36C;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}


/* =========================================
   VALUE TITLE
   ========================================= */

.ao-value-card h3 {
    margin: 0 0 16px;

    font-family: "Lora", serif;
    font-size: 25px;
    font-weight: 400;
    line-height: 1.2;

    color: #0B223B;
}

.ao-value-card h3 span {
    display: inline !important;

    margin: 0 -2px 0 0 !important;
    padding: 0 !important;

    font-size: 38px;
    font-weight: 400;
    letter-spacing: 0;

    color: #D9B36C;
}


/* =========================================
   DESCRIPTION
   ========================================= */

.ao-value-card p {
    margin: 0;

    font-size: 16px;
    line-height: 1.6;

    color: #545B64;
}


/* =========================================
   SUBTLE HOVER
   ========================================= */

.ao-value-card {
    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease;
}

.ao-value-card:hover {
    transform: translateY(-4px);

    border-color: #D9B36C;

    box-shadow: 0 14px 34px #0B223B14;
}


/* =========================================
   TABLET
   ========================================= */

@media (max-width: 1024px) {

    .ao-values-section > .wpb_column:last-child {
        padding-left: 20px;
    }

    .ao-value-card {
        min-height: 250px;

        padding: 26px 22px;
    }

    .ao-value-card h3 {
        font-size: 21px;
    }

    .ao-value-card h3 span {
        font-size: 32px;
    }

    .ao-value-card p {
        font-size: 15px;
    }

}


/* =========================================
   MOBILE
   ========================================= */

@media (max-width: 767px) {

    .ao-values-section > .wpb_column:last-child {
        padding-left: 0;
        margin-top: 45px;
    }

    .ao-values-section > .wpb_column:last-child .vc_inner {
        display: block;

        margin-left: 0;
        margin-right: 0;
        margin-bottom: 0;
    }

    .ao-values-section > .wpb_column:last-child .vc_inner > .wpb_column {
        display: block;

        width: 100% !important;

        padding-left: 0;
        padding-right: 0;

        margin-bottom: 16px;
    }

    .ao-value-card {
        min-height: 0;

        padding: 26px 24px;
    }

    .ao-value-icon {
        width: 48px;
        height: 48px;

        margin-bottom: 18px;
    }

    .ao-value-icon svg {
        width: 42px;
        height: 42px;
    }

    .ao-value-card h3 {
        font-size: 22px;
    }

    .ao-value-card h3 span {
        font-size: 34px;
    }

}

.ao-values-intro::before,
.ao-values-intro::after {
    display: none !important;
}

.ao-values-intro-text {
    max-width: 430px;

    margin: 28px 0 0;

    font-size: 17px;
    line-height: 1.7;

    color: #545B64;
}
/* ==========================================
   REVIEWS - MOBILE TEXT WIDTH FIX
   ========================================== */

@media (max-width: 767px) {

    .ao-reviews-carousel .wd-testimon-text {
        width: calc(100% - 48px) !important;
        max-width: calc(100% - 48px) !important;
        margin-left: 24px !important;
        margin-right: 24px !important;
        box-sizing: border-box !important;
    }

}