/*
Theme Name: Genesis Block Theme Child
Theme URI: https://github.com/studiopress/genesis-block-theme/
Template: genesis-block-theme
Author: StudioPress
Author URI: https://www.studiopress.com/
Description: A beautifully-simple yet powerful WordPress theme that integrates perfectly with the block editor and the Genesis Blocks plugin. Start building amazing websites with blocks today! Install the Genesis Blocks plugin to add even more page-building blocks such as testimonials, sharing icons, notices, call to actions, buttons and more.
Tags: one-column,featured-images,theme-options,custom-background,custom-colors,custom-logo,custom-menu,editor-style,translation-ready,footer-widgets,full-width-template,blog,sticky-post,threaded-comments,wide-blocks
Version: 1.0.0.175157162
Updated: 2025-12-20 12:17:00

*/

.purpose-new-body {
    background-color: #EFE5E0;
}

/* Show ONLY on desktop */
.show-on-desktop {
    display: none; /* hidden by default */
}

@media (min-width: 1025px) {
    .show-on-desktop {
        display: block; /* or flex/inline-block depending on layout */
    }
}

/* Hide ONLY on desktop */
.hide-on-desktop {
    display: block; /* shown by default */
}

@media (min-width: 1025px) {
    .hide-on-desktop {
        display: none;
    }
}

@media (max-width: 767px) {
    .elementor .elementor-hidden-mobile, .elementor .elementor-hidden-phone {
        display: none !important;
    }
}

@media (min-width: 768px) and (max-width: 1024px) {
    .elementor .elementor-hidden-tablet {
        display: none !important;
    }
}

.page-template-full-width-purpose-template #page, 
.page-template-full-width-purpose-template #primary,
.page-template-full-width-purpose-template-new #page, 
.page-template-full-width-purpose-template-new #primary,
.page-template-full-width-purpose-launch #page, 
.page-template-full-width-purpose-launch #primary,
.page-template-full-width-purpose-launch-no-nav #page, 
.page-template-full-width-purpose-launch-no-nav #primary {
    width: 100%;
    max-width: 100%;
    padding: 0;
}
.page-template-full-width-purpose-template #page .entry-header,
.page-template-full-width-purpose-template-new #page .entry-header,
.page-template-full-width-purpose-launch #page .entry-header,
.page-template-full-width-purpose-launch-no-nav #page .entry-header {
    padding: 5% 2% 0;
}
.page-template-full-width-purpose-template .site-content,
.page-template-full-width-purpose-template-new .site-content,
.page-template-full-width-purpose-launch .site-content,
.page-template-full-width-purpose-launch-no-nav .site-content {
    padding-bottom: 0;
}
.site-header--purpose {
    display: flex;
    background-color: #25211b;
    justify-content: space-between;
    align-items: center;
}

.site-header--purpose-new {
    display: flex;
    background-color: #E6DBD6;
    justify-content: space-between;
    align-items: center;
}

.site-header--transparent {
    background-color: transparent;
}

.site-header--purpose:before, .site-header--purpose:after {
    display: none;
}

.home .elementor-7 .elementor-element.elementor-element-undefined-235687b .elementor-button {
    text-transform: none;
}

.site-header button,
button,
input[type="button"],
input[type="reset"],
input[type="submit"],
.button,
.comment-navigation a {
    font-size: 15px;
    padding: 12px 24px;
    border-radius: 30px;
    background-color: transparent;
    text-transform: none;
    font-style: normal;
    text-decoration: none;
    line-height: 150%;
    fill: #FFFFFF;
    color: #FFFFFF;
    border-style: solid;
    border-width: 1px;
    border-color: #FFFFFF;
    font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-weight: 400;
    text-align: center;
    display: inline-block;
    transition: all 0.2s ease-in-out;
    -webkit-appearance: none;
    cursor: pointer;
}

button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover,
.button:hover,
.comment-navigation a:hover {
    background-color: #ffffff;
    color: #1a1a1a;
    fill: #1a1a1a;
}

.site-header .site-header__links--light button {
    color: #000;
    border-color: #000;
}

.site-header .site-header__links--light button:hover {
    background-color: #000;
    color: #fff;
}

.site-header__logo a {
    display: flex;
    align-items: center;
}


.site-header__logo img {
    display: block;
    margin-right: 12px;
}

.site-header__logo span {
    font-family: 'Erode', serif;
    font-size: 30px;
    font-weight: 500;
    color: white;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
}

.site-header--purpose-new .site-header__logo span {
    color: #171830;
}

.site-header__logo img,
.site-footer__logo img {
    width: 40px;
    height: 40px;
}

.site-header {
    padding: 20px;
    padding-left: clamp(20px, 10vw - 70px, 100px);
    padding-right: clamp(20px, 10vw - 70px, 100px);
}

.site-footer {
    background: #ffb820;
    padding: 60px 20px 70px;
}

.site-footer.site-footer a,
.site-footer.site-footer a:visited,
.site-footer.site-footer a:hover,
.site-footer.site-footer a:active,
.site-footer.site-footer a:focus {
  color: inherit;
  text-decoration: none; 
}

.site-footer.site-footer a:hover,
.site-footer.site-footer a:focus {
  text-decoration: underline; 
}

.site-footer__logo {
    margin-bottom: 40px;
    text-align: center;
}

.site-footer__info {
    display: flex;
    gap: 0.4em;
    flex-direction: column;
}

.site-footer__copyright {
    font-size: 95%;
}

@media (min-width: 880px) {
    .site-footer__copyright {
        margin-right: 1em;
    }

    .site-footer__info {
        flex-direction: row;
        gap: 1em;
        justify-content: center;
        align-items: center;    
    }
}

.opt-in-form {
    text-align: center;
}

@media (min-width: 640px) {
    .opt-in-form {
        width: 500px;
    }
}

/*
.opt-in-form form {
    display: flex; 
    align-items: center; 
    justify-content: center;
    gap: 12px;
}

.opt-in-form input {
    background-color: transparent;
    border-color: #ccc7d7;
    border-radius: 13px;
    color: #444;
    font-size: 16px;
    height: 48px;
    font-weight: 300;
}

.opt-in-form input::placeholder {
    color: #555;
    font-size: 16px;
    font-weight: 300;
}

.opt-in-form button {
    background: #5e1bed;
    white-space: nowrap;
    height: 50px;
    width: 140px;
    padding-top: 0;
    padding-bottom: 0;
}

.opt-in-form button:hover,
.opt-in-form button:focus {
    background: #000;
    box-shadow: none;
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    color: #fff;
}
*/

        .opt-in-form {
            max-width: 400px;
            width: 100%;
        }

        #signupForm {
            display: flex;
            flex-direction: column;
            gap: 20px;
        }

        #email_input {
            width: 100%;
            padding: 14px 16px;
            border: 2px solid #e1e1e1;
            border-radius: 8px;
            font-size: 16px;
            transition: all 0.3s ease;
            outline: none;
        }

        #email_input:focus {
            border-color: #667eea;
            box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
        }

        #email_input::placeholder {
            color: #999;
        }

        .beta-checkbox {
            display: flex;
            align-items: flex-start;
            cursor: pointer;
            font-size: 14px;
            color: #555;
            line-height: 1.5;
            user-select: none;
        }

        .beta-checkbox input[type="checkbox"] {
            width: 20px;
            height: 20px;
            margin-right: 12px;
            margin-top: 2px;
            cursor: pointer;
            accent-color: #667eea;
        }

        .beta-checkbox span:first-of-type {
            flex: 1;
        }

        .badge {
            display: inline-block;
            background: #ffeaa7;
            color: #d63031;
            padding: 2px 8px;
            border-radius: 4px;
            font-size: 12px;
            font-weight: 600;
            margin-left: 8px;
        }

        .opt-in-form button {
            width: 100%;
            padding: 16px;
            background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
            color: white;
            border: none;
            border-radius: 8px;
            font-size: 16px;
            font-weight: 600;
            cursor: pointer;
            transition: all 0.3s ease;
            position: relative;
            overflow: hidden;
        }

        .opt-in-form button:hover {
            transform: translateY(-2px);
            box-shadow: 0 10px 20px rgba(102, 126, 234, 0.3);
        }

        .opt-in-form button:active {
            transform: translateY(0);
        }

        @media (max-width: 480px) {
            .opt-in-form {
                padding: 30px 20px;
            }
        }


/* this forces the footer to stick to the bottom if the page is not as high as the window */
body.page-template-default {
  min-height: 100vh;
  margin: 0;
  display: grid;
  grid-template-rows: auto 1fr auto;
}
body.page-template-default #page {
    width: 100%;
}

.simple-card {
    width: 320px;
    height: 176px;
    padding: 32px;
    background: #FFFFFF;
    color: #171830;
    border-style: solid;
    border-width: 1px 2px 2px 1px;
    border-color: #000000;
    border-radius: 12px;
    display: flex;
    flex-direction: column;
    transform: rotate(1deg);
    transform-origin: center;
    justify-content: space-between;
}

.testimonials-container.testimonials-container.testimonials-container.testimonials-container {
    gap: 32px;
    display: flex;
    justify-content: center;
}

.testimonials-container .elementor-testimonial-wrapper {
    width: 320px;
    max-width: 100%;
    height: 320px;
    padding: 24px;
    background: #FFEF89;
    color: #171830;
    border-style: solid;
    border-width: 1px 2px 2px 1px;
    border-color: #171830;
    border-radius: 12px;
    display: flex;
    flex-direction: column;
    transform: rotate(1.5deg);
    transform-origin: center;
    justify-content: space-between;
    display: flex;
    transform-origin: center;      /* rotate around center */
}

.testimonials-container .elementor-testimonial-wrapper .elementor-testimonial-meta-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}

/* #1 */
.testimonials-container > :nth-child(1 of .elementor-widget-testimonial)
  .elementor-testimonial-wrapper{
  transform: rotate(1.33deg);
}

/* #2 */
.testimonials-container > :nth-child(2 of .elementor-widget-testimonial)
  .elementor-testimonial-wrapper{
  transform: rotate(-1.5deg);
}

/* #3 */
.testimonials-container > :nth-child(3 of .elementor-widget-testimonial)
  .elementor-testimonial-wrapper{
  transform: rotate(0.5deg);
}

.journey-wrapper {
    position: relative;
    width: 100%;
    max-width: 1200px; /* adjust for your design */
    margin: 0 auto;
    min-height: 1325px; /* matches SVG height */
}

@media (max-width: 1024px) {
    .journey-wrapper {
        min-height: 0;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 220px;
        padding-top: 200px;
        padding-bottom: 100px;
    }
}

.journey-path {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    height: 100%;
    width: auto;
    z-index: 0;
}

.journey-card {
    position: absolute;
    width: 320px;
    height: 176px;
    padding: 32px;
    background: #FFFFFF;
    color: #171830;
    border-style: solid;
    border-width: 1px 2px 2px 1px;
    border-color: #000000;
    border-radius: 12px;
    display: flex;
    flex-direction: column;
    transform-origin: center;
    justify-content: space-between;
    display: flex;
    transform-origin: center;      /* rotate around center */
    z-index: 1;
}

@media (max-width: 1024px) {
    .journey-card {
        position: static;
        height: auto;
        padding: 16px;
    }
}

.journey-card h3 {
    margin: 0 0 8px;
    font-size: 20px;
}

.journey-card p {
    margin: 0;
    font-size: 18px;
    line-height: 1.4;
    color: #444444;
}
@media (max-width: 1024px) {
    ..journey-card p {
        font-size: 16px;
    }
}
.journey-card .journey-card__image {
    position: absolute;
    right: 0;
    transform: translate(0,-100%);
}

.journey-card .journey-card__scribble {
    position: absolute;
}

@media (max-width: 767px) {
    .journey-card .journey-card__scribble {
        display: none;
    }
}

.journey-card--1 {
    top:210px;
    left:80px;
    transform: rotate(-1deg);
}

.journey-card--1 .journey-card__image {
    top: 16px;
    width: 153px;
}

.journey-card--1 .journey-card__scribble {
    width: 40px;
    left: 0;
    bottom: 0;
    transform: translate(-100%,61%);
}

.journey-card--2 {
    top:420px;
    right:80px;
    transform: rotate(.6deg);
}

.journey-card--2 .journey-card__image {
    top: 20px;
    width: 193px;
}

.journey-card--2 .journey-card__scribble {
    width: 112px;
    right: 0;
    bottom: 0;
    transform: translate(58%,70%);
}

.journey-card--3 {
    top:780px;
    left:90px;
    transform: rotate(-.8deg);
}

.journey-card--3 .journey-card__image {
    top: 22px;
    width: 252px;
}

.journey-card--3 .journey-card__scribble {
    width: 70px;
    left: 0;
    top: 0;
    transform: translate(-88%,-62%);
}

.journey-card--4 {
    top:940px;
    right:90px;
    transform: rotate(1deg);
}

.journey-card--4 .journey-card__image {
    top: 25px;
    width: 196px;
}

.journey-card--4 .journey-card__scribble {
    width: 130px;
    right: 0;
    bottom: 0;
    transform: translate(70%,38%);
}

.gradient-box.gradient-box {
    padding: 40px 48px;
    background: #FFFFFF;
    color: #171830;
    border-style: solid;
    border-width: 1px 4px 4px 1px;
    border-color: #000000;
    border-radius: 24px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    background: radial-gradient(100% 346.75% at 0% 99.92%, #F87362 0%, #FB9E56 25.09%, #FCB477 100%),
    linear-gradient(0deg, #FCB477, #FCB477);
}

.gradient-box--copy p {
    margin: 0;
}

.purple-button a {
    border-width: 1px 2px 2px 1px;
    border-color: #171830;
    border-style: solid;
    white-space: nowrap;
}

#page .elementor-testimonial-image {
    padding: 0 30px;
    margin: 0 -30px;
    position: relative;
}

.elementor-testimonial-image:after {
    position: absolute;
    content: "";
    bottom: 4px;
    right: 0;
    width: 30px;
    height: 30px;
    background-image: url(../png/xx.png);
    background-repeat: no-repeat;
    background-size: cover;
}

#page .elementor-testimonial-meta-inner {
    align-items: flex-end;
}


/* Navigation
--------------------------------------------- */
.main-navigation {
    display: block;
    flex: 1;
}

.main-navigation ul {
    display: none;
    list-style: none;
    margin: 0;
    padding-left: 0;
}

.main-navigation a {
    display: block;
}

.main-navigation .menu-item-has-children {
    padding-right: 10px;
    position: relative;
}

.main-navigation .menu-item-has-children::after {
    content: "";
    position: absolute;
    right: 11px;
    top: 20px;
    width: 10px;
    height: 6px;
    background-image: url(../caret-closed.html);
    background-repeat: no-repeat;
    background-size: contain;
    pointer-events: none;
}

@media (min-width: 680px) {

    .main-navigation .menu-item-has-children::after {
        top: 15px;
    }
}

.main-navigation .menu-item-has-children.focus::after,
.main-navigation .menu-item-has-children:hover::after {
    transform: rotate(180deg);
}

@media screen and (max-width: 759px) {

    body.menu-toggled {
        overflow: hidden; /* avoid scrolling body while menu is active */
    }

    .main-navigation__links,
    .mobile-menu-heading {
        display: none;
    }

    .menu-toggle {
        display: block;
        position: absolute;
        top: 24px;
        right: 24px;
    }

    .main-navigation.toggled {
        position: fixed;
        top: 0;
        right: 0;
        left: 0;
        bottom: 0;
        background-color: #fff;
        padding: 24px;
        display: flex;
        flex-direction: column;
        overflow-x: scroll;
        z-index: 10;
    }

    .main-navigation.toggled .mobile-menu-heading {
        display: block;
    }

    .main-navigation.toggled .menu-toggle {
        background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg id='Layer_1' xmlns='http://www.w3.org/2000/svg' version='1.1' viewBox='0 0 50 50'%3E%3Cpath d='M5.6,40.9l3.5,3.5L44.4,9.1l-3.5-3.5L5.6,40.9ZM9.1,5.6l-3.5,3.5,35.4,35.4,3.5-3.5L9.1,5.6Z'/%3E%3C/svg%3E");
    }

    .main-navigation.toggled .main-navigation__links,
    .main-navigation.toggled ul {
        display: block;
    }

    .main-navigation.toggled ul ul {
        display: none;
    }

    .main-navigation.toggled li:hover > ul,
    .main-navigation.toggled li.focus > ul {
        display: block;
    }

    .main-navigation.toggled .main-navigation__links {
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        flex: 1 1 100%;
        padding-top: 2rem;
    }

    .main-navigation.toggled .main-navigation__links #primary-menu,
    .main-navigation.toggled .main-navigation__links .sub-menu {
        border-top: 1px solid #242121;
        width: 100%;
    }

    .main-navigation.toggled .main-navigation__links .sub-menu {
        padding-left: 20px;
    }

    .main-navigation.toggled .main-navigation__links .sub-menu .menu-item:last-of-type {
        border-bottom: none;
    }

    .main-navigation.toggled .main-navigation__links .menu-item {
        border-bottom: 1px solid #242121;
        padding: 0;
    }

    .main-navigation.toggled .main-navigation__links .menu-item a,
    .main-navigation.toggled .main-navigation__links .menu-item button {
        padding: 16px 0;
    }
}

@media screen and (min-width: 760px) {

    .main-navigation .menu-toggle,
    .main-navigation .mobile-menu-heading {
        display: none;
    }

    .main-navigation .main-navigation__links {
        display: flex;
        justify-content: flex-end;
        align-items: center;
    }

    .main-navigation .main-navigation__links .menu-nav-container {
        flex: 1;
        justify-content: center;
        display: flex;
    }

    .main-navigation .main-navigation__links .menu {
        display: flex;
        align-items: center;
    }

    .main-navigation ul ul {
        float: none;
        position: absolute;
        top: 100%;
        left: -999em;
        z-index: 99999;
    }

    .main-navigation ul ul ul {
        left: -999em;
        top: 0;
    }

    .main-navigation ul ul li:hover > ul,
    .main-navigation ul ul li.focus > ul {
        display: block;
        left: auto;
    }

    .main-navigation ul ul a {
        width: 200px;
    }

    .main-navigation ul ul :hover > a,
    .main-navigation ul ul .focus > a {
        text-decoration: underline;
    }

    .main-navigation ul li:hover > ul,
    .main-navigation ul li.focus > ul {
        left: auto;
    }

    .main-navigation li {
        position: relative;
    }

    .main-navigation ul {
        display: flex;
    }

    .main-navigation ul ul {
        display: inline-block;
    }

    .main-navigation .sub-menu {
        background-color: #fff;
        border: 1px solid #242121;
        border-radius: 25px;
        padding: 20px;
    }

    .main-navigation .sub-menu > li:first-of-type a {
        padding-top: 0;
    }

    .main-navigation .sub-menu > li:last-of-type a {
        padding-bottom: 0;
    }

    .main-navigation .sub-menu a {
        padding: 7px 0 8px;
    }

    .main-navigation .sub-menu a:hover {
        text-decoration: underline;
    }
}

.main-navigation.main-navigation ul li.current-menu-item a {
    color: inherit;
}

.menu-toggle.menu-toggle {
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 50 50' width='50px' height='50px'%3E%3Cpath d='M 0 7.5 L 0 12.5 L 50 12.5 L 50 7.5 Z M 0 22.5 L 0 27.5 L 50 27.5 L 50 22.5 Z M 0 37.5 L 0 42.5 L 50 42.5 L 50 37.5 Z'/%3E%3C/svg%3E") no-repeat center right;
    background-size: contain;
    background-color: transparent;
    padding: 0;
    width: 24px;
    height: 24px;
    border: none;
    border-radius: 0;
    transition: none;
}

.menu-toggle.menu-toggle:focus {
    box-shadow: none;
}

.site-header--purpose-new .site-navigation .menu-item {
    font-size: 16px;
    font-weight: 500;
}

.site-header--purpose-new .main-navigation .nav-button button,
.site-header--purpose-new .main-navigation .nav-button-link a { 
    background-color: #713BE7;
    color: #ffffff;
    border-width: 1px 2px 2px 1px;
    border-color: #171830;
    border-style: solid;
    height: 32px;
    display: flex;
    align-items: center;
    font-size: 16px;
}

.site-header--purpose-new .main-navigation .nav-button-link a {
    padding: 12px 24px;
    border-radius: 30px;
    font-weight: 400;
}

.site-header--purpose-new .main-navigation .nav-button-link a:hover { 
    box-shadow: inset 0 0 80px rgba(255, 255, 255, 0.25);
    -webkit-box-shadow: inset 0 0 80px rgba(255, 255, 255, 0.25);
}

@media screen and (max-width: 759px) {
    .site-header--purpose-new .main-navigation.toggled .nav-button { 
        border-bottom: 0;
    }

    .site-header--purpose-new .main-navigation.toggled .nav-button-link {
        padding-top: 16px;
    }

    .site-header--purpose-new .main-navigation.toggled .nav-button button,
    .site-header--purpose-new .main-navigation.toggled .nav-button-link a { 
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
        height: 50px;
    }

    .main-navigation ul li,
    .main-navigation ul li a {
        display: block;
    }
}

.main-navigation ul li a {
    margin: 0;
}


.white-card {
    padding: 16px;
    background: #FFFFFF;
    color: #171830;
    border-style: solid;
    border-width: 1px 2px 2px 1px;
    border-color: #171830;
    border-radius: 12px;
    transform-origin: center;
    z-index: 1;
    transform: rotate(1deg);
    transform-origin: center;
}
.white-card--alt {
    transform: rotate(-1deg);
}

@media (min-width: 1025px) {
    .white-card {
        padding: 32px;
    }
}

.footer-links__menu {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.menu-footer-links__menu {
    list-style: none;
    margin: 0;
    padding: 0;
}

.menu-footer-links__menu li {
    display: inline;
}
