.full-page.app-promo-view {
    max-width: 1024px;
    margin:auto;
    display:block;
}

.app-promo-view .app-promo-body {
    max-width: 1028px;
    padding-top: 30px;
    grid-area: body;
    margin: 0px auto;
    display: grid;
    grid-template-areas:
        "header header"
        "image body"
        "button button";
    grid-template-columns: 320px auto;
}

.app-promo-view .app-promo-title {
    grid-area: header;
    width: unset;
    font-size: 56px;
    font-weight: 500;
    color: var(--text-dark);
    text-align: center;
    line-height: 91px;
    padding-bottom: 56px;
}


.app-promo-view .promo-body {
    grid-area: body;
    max-width: 1000px;
    padding: 0px 20px;
}

.app-promo-view .promo-image {
    grid-area: image;
    width: 320px;
    padding: 0px 20px;
}

.app-promo-view .promo-image img,
.app-promo-view .promo-image svg {
    width: 300px;
    min-height: 350px;
}

.app-promo-view .promo-text {
    grid-area: content;
    justify-self: self-start;
}

.app-promo-view .promo-text-subtitle {
    text-align: left;
    font-weight: bold;
    color: var(--text-medium);
    font-size: 18px;
}

.app-promo-view .promo-text-content {
    padding-bottom: 15px;
    padding-left: 10px;
    text-align: left;
    font-size: 18px;
}

.app-promo-view .phone-title {
    text-align: left;
    font-weight: bold;
    color: var(--text-medium);
    font-size: 18px;
    margin: 8px 0 4px;
}

.phone-outline {
    max-width: 320px;
    border: 2px solid #8e8e8c;
    border-radius: 4px;
}

.phone-outline:focus-within{
    max-width: 320px;
    border-radius: 4px;
    border: 2px solid var(--branded-color);
}

.phone-number.error .phone-outline{
    max-width: 320px;
    border: 2px solid red;
    border-radius: 4px;
}

.react-tel-input.phone-number input{
    border:none;
}

.MuiButton-root.primary-button.app-promo-send-text {
    margin: 25px 0px 0px 0px;
    border-radius: 4px;
    border-width: 2px;
    padding: 8px 12px;
    min-height: 48px;
    text-transform: none;
    font-size: 16px;
    box-shadow: none;
    max-width: 325px;
}

.app-promo-controls {
    grid-area: button;
    justify-self: end;
    width: 100%
}

.app-promo-controls .link-button {
    font-size: 16px;
    background: transparent;
    border: none;
    cursor: pointer;
    text-decoration: none;
    padding: 0;
    font-weight: 600;
    line-height: 1.27;
    padding: 60px;
    width: 100%;
    text-align: right;
}

@media only screen and (min-device-width: 767px) and (max-device-width: 1024px){
    .app-promo-view .app-promo-title {
        font-size: 40px;
    }
}

@media only screen and (max-width: 767px) {
    .app-promo-view .app-promo-body {
        grid-template-areas:
            "button"
            "image"
            "header"
            "body";
        grid-template-columns: auto;
        padding: 0px 10px;
        max-width: 500px;
    }

    .app-promo-view .app-promo-title {
        font-size: 24px;
        text-align: left;
        padding: 16px;
        line-height: unset;
    }

    .app-promo-view .promo-text-subtitle {
        padding: 18px 0px;
    }

    .app-promo-view .promo-image {
        padding: 0px;
        justify-self: center;
    }

    .app-promo-view .promo-body {
        padding: 0px 16px;
    }

    .app-promo-view .promo-text-content {
        font-size: 14px;;
    }

    .app-promo-view .app-promo-controls .link-button {
        padding: 16px 16px 5px;

    }
    .MuiButton-root.primary-button.app-promo-send-text {
        max-width: 768px;
        width: 100%;
        margin-bottom: 16px;
    }
}


@media only screen and (max-width: 320px) {
    .app-promo-view .promo-image {
        grid-area: image;
        width: 260px;
        padding: 0px 0px;
        margin: auto;
    }

    .app-promo-view .promo-image img,
    .app-promo-view .promo-image svg {
            width: 260px;
        min-height: 0px;
    }
}
